Внедрив FloatingSearchView
внутри моего AppBarLayout
, как в случае с приложением Google Play, я столкнулся с одной проблемой: предложение не отображается должным образом при поиске.
Это мой xml
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:elevation="0dp" >
<com.arlib.floatingsearchview.FloatingSearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="60dp"
app:floatingSearch_close_search_on_keyboard_dismiss="true"
app:floatingSearch_leftActionMode="showHamburger"
app:floatingSearch_menu="@menu/main"
app:floatingSearch_searchBarMarginLeft="5dp"
app:floatingSearch_searchBarMarginRight="5dp"
app:floatingSearch_searchBarMarginTop="5dp"
app:floatingSearch_searchHint="@string/main_title"
app:floatingSearch_showSearchKey="false"
app:floatingSearch_suggestionsListAnimDuration="250" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="scrollable"
app:tabPaddingEnd="16dp"
app:tabPaddingStart="16dp"
app:tabTextAppearance="@style/TabLayoutStyle" />
</android.support.design.widget.AppBarLayout>
<com.oyonde.myapp.components.CustomViewPager
android:id="@+id/mainViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
в коде Java Я пытался сделать это при поиске
private void searchViewDisplay(boolean isSearching) {
FloatingSearchView mSearchView = findViewById(R.id.search_view);
AppBarLayout appbarLayout = findViewById(R.id.appbarLayout);
TabLayout tabLayout = findViewById(R.id.tabs);
ViewPager viewPager = findViewById(R.id.mainViewPager);
ViewGroup.LayoutParams appbarParams = appbarLayout.getLayoutParams();
ViewGroup.LayoutParams searchParams = mSearchView.getLayoutParams();
if (isSearching) {
tabLayout.setVisibility(View.GONE);
viewPager.setVisibility(View.GONE);
AppBarLayout.LayoutParams aprams = new AppBarLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
appbarParams.height = 500;
searchParams.height = 500;
} else {
tabLayout.setVisibility(View.VISIBLE);
viewPager.setVisibility(View.VISIBLE);
appbarParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;
searchParams.height = 120;
}
appbarLayout.setLayoutParams(appbarParams);
mSearchView.setLayoutParams(searchParams);
}
Буду признателен за помощь в правильной работе, поскольку я могу скрывать некоторые элементы, такие как viewpager
.
До сих пор я пытался использовать мою appbarlayout
use match_parent height в xml
и режим плавающего поиска одинаковым, и предложения появлялись по желанию, но теперь я хочу прагматично изменить их высоту.