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, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
supportInvalidateOptionsMenu();
//or use invalidateOptionsMenu();
return true;
}
});
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:
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
supportInvalidateOptionsMenu();
return true;
}
});
Post a Comment for "Toolbar Icons Disappearing After Expanding The SearchView In Android"