Toolbar Icons Disappearing After Expanding The Searchview In Android
here's my problem: I have that nice toolbar with the icons in landscape mode: after expanding the search view and showing the popup menu the 'add' item appears (I thought that it
Solution 1:
You can try to use this:
MenuItemCompat.setOnActionExpandListener(searchMenuItem, newMenuItemCompat.OnActionExpandListener() {
@OverridepublicbooleanonMenuItemActionExpand(MenuItem item) {
returntrue;
}
@OverridepublicbooleanonMenuItemActionCollapse(MenuItem item) {
supportInvalidateOptionsMenu();
//or use invalidateOptionsMenu();returntrue;
}
});
So when SearchView will be collapsed Toolbar will reallocate items and ifRoom items will be visible. I had this bug too and solved it this way.
Solution 2:
Try this
<item
android:id="@+id/app_bar_search"
android:actionViewClass="android.support.v7.widget.SearchView"
android:icon="@drawable/ic_action_search"
android:title="Search"
app:showAsAction="always|collapseActionView"
android:enabled="true"
android:visible="true"
app:actionViewClass="android.support.v7.widget.SearchView"/>
<item android:title="Add"
android:enabled="true"
android:icon="@drawable/ic_action_add"
android:visible="true"
app:showAsAction="always"
android:id="@+id/add" />
<item android:title="Settings"
android:id="@+id/settings"
app:showAsAction="never"
android:icon="@drawable/ic_action_settings"
android:enabled="true"
android:visible="true" />
<item android:title="Feedback"
android:id="@+id/feedbvack"
app:showAsAction="never"
android:icon="@drawable/ic_action_feedback"
android:enabled="true"
android:visible="true" />
Set app:showAsAction
to always
to make sure it will be visible always.
Solution 3:
Use of ifRoom has this feature if space available it will show or else it will hide it better use always or never
<item android:title="Add"
android:enabled="true"
android:icon="@drawable/ic_action_add"
android:visible="true"
app:showAsAction="always"
android:id="@+id/add" />
Solution 4:
@Kovy has answered above with the fix for this bug and I confirm it fixes the bug. Thank you very much, mate! However, the above function has been deprecated in favour of individual menu items OnActionExpandListener. Example of it is as posted below:
MenuInflatermenuInflater= getMenuInflater();
menuInflater.inflate(R.menu.menu, menu);
MenuItemsearchItem= menu.findItem(R.id.action_search);
searchItem.setOnActionExpandListener(newMenuItem.OnActionExpandListener() {
@OverridepublicbooleanonMenuItemActionExpand(MenuItem item) {
returntrue;
}
@OverridepublicbooleanonMenuItemActionCollapse(MenuItem item) {
supportInvalidateOptionsMenu();
returntrue;
}
});
Post a Comment for "Toolbar Icons Disappearing After Expanding The Searchview In Android"