Integrate floating search bar

This commit is contained in:
Eugen Rochko 2017-03-10 04:35:08 +01:00
parent 44f777ebff
commit 68e10f77f4
6 changed files with 45 additions and 6 deletions

View File

@ -42,4 +42,7 @@ dependencies {
}
compile 'com.github.chrisbanes:PhotoView:1.3.1'
compile 'com.mikepenz:google-material-typeface:3.0.1.0.original@aar'
compile 'com.github.arimorty:floatingsearchview:2.0.3'
compile 'org.parceler:parceler-api:1.1.6'
annotationProcessor 'org.parceler:parceler:1.1.6'
}

View File

@ -43,6 +43,7 @@ import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.arlib.floatingsearchview.FloatingSearchView;
import com.keylesspalace.tusky.entity.Account;
import com.mikepenz.google_material_typeface_library.GoogleMaterial;
import com.mikepenz.materialdrawer.AccountHeader;
@ -63,6 +64,7 @@ import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Stack;
@ -90,8 +92,8 @@ public class MainActivity extends BaseActivity {
// Fetch user info while we're doing other things.
fetchUserInfo();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
//setSupportActionBar(toolbar);
FloatingActionButton floatingBtn = (FloatingActionButton) findViewById(R.id.floating_btn);
floatingBtn.setOnClickListener(new View.OnClickListener() {
@ -102,6 +104,8 @@ public class MainActivity extends BaseActivity {
}
});
final FloatingSearchView searchView = (FloatingSearchView) findViewById(R.id.floating_search_view);
headerResult = new AccountHeaderBuilder()
.withActivity(this)
.withSelectionListEnabledForSingleProfile(false)
@ -123,7 +127,7 @@ public class MainActivity extends BaseActivity {
drawer = new DrawerBuilder()
.withActivity(this)
.withToolbar(toolbar)
//.withToolbar(toolbar)
.withAccountHeader(headerResult)
.withHasStableIds(true)
.withSelectedItem(-1)
@ -175,6 +179,8 @@ public class MainActivity extends BaseActivity {
})
.build();
searchView.attachNavigationDrawerToMenuButton(drawer.getDrawerLayout());
// Setup the tabs and timeline pager.
TimelinePagerAdapter adapter = new TimelinePagerAdapter(getSupportFragmentManager());
String[] pageTitles = {

View File

@ -15,10 +15,14 @@
package com.keylesspalace.tusky.entity;
import android.os.Parcel;
import android.text.Spanned;
import com.arlib.floatingsearchview.suggestions.model.SearchSuggestion;
import com.google.gson.annotations.SerializedName;
import org.parceler.Parcels;
public class Account {
public String id;

View File

@ -16,14 +16,14 @@
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
<!--<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/AppTheme.Account.AppBarLayout"
app:popupTheme="@style/AppTheme.Account.ToolbarPopupTheme.Dark"
android:elevation="4dp"
android:background="?attr/toolbar_background_color" />
android:background="?attr/toolbar_background_color" />-->
<android.support.v4.view.ViewPager
android:id="@+id/pager"
@ -34,9 +34,11 @@
android:id="@+id/tab_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:colorBackground"
android:paddingTop="?attr/actionBarSize"
app:tabTextAppearance="@style/TabLayoutTextStyle"
app:tabBackground="?android:colorBackground"
app:tabPaddingStart="1dp"
app:tabPaddingTop="4dp"
app:tabPaddingEnd="1dp">
<android.support.design.widget.TabItem
@ -59,6 +61,19 @@
</android.support.v4.view.ViewPager>
</LinearLayout>
<com.arlib.floatingsearchview.FloatingSearchView
android:id="@+id/floating_search_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:floatingSearch_searchBarMarginLeft="6dp"
app:floatingSearch_searchBarMarginTop="4dp"
app:floatingSearch_searchBarMarginRight="6dp"
app:floatingSearch_searchHint="@string/search"
app:floatingSearch_suggestionsListAnimDuration="250"
app:floatingSearch_showSearchKey="false"
app:floatingSearch_leftActionMode="showHamburger"
app:floatingSearch_close_search_on_keyboard_dismiss="true"/>
<FrameLayout
android:id="@+id/overlay_fragment_container"
android:layout_width="match_parent"

View File

@ -162,5 +162,6 @@
<string name="action_unmute">Unmute</string>
<string name="error_unmuting">That user wasn\'t unmuted.</string>
<string name="error_muting">That user wasn\'t muted.</string>
<string name="search">Search accounts...</string>
</resources>

View File

@ -65,6 +65,16 @@
<item name="material_drawer_selected">@color/color_primary_dark</item>
<item name="material_drawer_selected_text">@color/text_color_primary_dark</item>
<item name="material_drawer_header_selection_text">@color/text_color_primary_dark</item>
<item name="floatingSearch_backgroundColor">@color/toolbar_background_dark</item>
<item name="floatingSearch_viewTextColor">@color/text_color_secondary_dark</item>
<item name="floatingSearch_hintTextColor">@color/text_color_tertiary_dark</item>
<item name="floatingSearch_dividerColor">@color/status_divider_dark</item>
<item name="floatingSearch_clearBtnColor">@color/toolbar_icon_dark</item>
<item name="floatingSearch_leftActionColor">@color/toolbar_icon_dark</item>
<item name="floatingSearch_menuItemIconColor">@color/toolbar_icon_dark</item>
<item name="floatingSearch_suggestionRightIconColor">@color/toolbar_icon_dark</item>
<item name="floatingSearch_actionMenuOverflowColor">@color/toolbar_icon_dark</item>-->
</style>
<style name="AppTheme.ImageButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored">