2015-06-26 5 views
5

У меня есть list fragment в BaseActivity и вы хотите реализовать функцию поиска. но action bar compact высота изменяется в то время как нажмите на кнопку поиска элементапанель действий компактная высота меняется при поиске.объем

смотри ниже скриншоте

enter image description here

menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
tools:context="com.android.bypeople.uber.BaseActivity" > 

<item 
    android:id="@+id/action_add" 
    android:icon="@drawable/btn_profile_selector" 
    android:orderInCategory="100" 
    android:title="@string/action_add" 
    android:visible="false" 
    app:showAsAction="always"/> 
<item 
    android:id="@+id/action_search" 
    android:icon="@android:drawable/ic_menu_search" 
    android:title="@string/action_search" 
    android:visible="false" 
    app:actionViewClass="android.support.v7.widget.SearchView" 
    app:showAsAction="ifRoom"/> 

onCreateOptionsMenu в фрагменте

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
    super.onCreateOptionsMenu(menu,inflater); 
    inflater.inflate(R.menu.base, menu); 
    menu.findItem(R.id.action_add).setVisible(true); 

    SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE); 
    MenuItem searchItem = menu.findItem(R.id.action_search); 
    searchItem.setVisible(true); 
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); 
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName())); 

    searchView.setOnQueryTextListener(queryListener); 

    queryListener = new OnQueryTextListener() {  

     @Override 
     public boolean onQueryTextChange(String newText) { 
      return false; 
     } 

     @Override 
     public boolean onQueryTextSubmit(String query) {    
      Toast.makeText(getActivity(), "Searching for: " + query + "...", Toast.LENGTH_SHORT).show(); 
      return false; 
     } 
    }; 
} 

ответ

7

См. Это link тоже. !!

разрешил проблему после многого поиска и нашел что-то.

может вам помочь. !!

после добавления этого атрибута в toolbar

android:layout_height="?attr/actionBarSize"

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
style="@style/ToolBarStyle" 
android:layout_width="match_parent" 
android:layout_height="?attr/actionBarSize" 
android:background="@color/myPrimaryColor" 
android:minHeight="@dimen/abc_action_bar_default_height_material" > 

<TextView 
    android:id="@+id/toolbar_title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="18sp" 
    android:textColor="@color/myTextPrimaryColor" 
    android:layout_gravity="center" /> 

</android.support.v7.widget.Toolbar> 
Смежные вопросы