2015-06-26 17 views
5

Ich habe list fragment in BaseActivity und möchte Suchfunktionalität implementieren. aber action bar compact Höhe ändert, während Klick auf Artikel TasteAktionsleiste kompakte Höhe ändert sich, wenn Sucheintrag erweitern

Screenshot unten sehen

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 in Fragment

@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; 
     } 
    }; 
} 

Antwort

7

Siehe auch link. !!

behobene Problem nach vielen suchen und etwas gefunden.

kann Ihnen auch helfen. !!

nach diesem Attribut in 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> 
hinzufügen