一般来说,以前发布的答案还可以。但是它基本上删除了“溢出”菜单的默认行为。诸如可以在不同屏幕尺寸上显示多少个图标之类的东西,然后在无法显示时会掉入溢出菜单。通过执行上述操作,您删除了许多重要功能。
更好的方法是告诉溢出菜单直接显示图标。您可以通过将以下代码添加到“活动”中来实现。
@Override
public boolean onMenuOpened(int featureId, Menu menu)
{
if(featureId == Window.FEATURE_ACTION_BAR && menu != null){
if(menu.getClass().getSimpleName().equals("MenuBuilder")){
try{
Method m = menu.getClass().getDeclaredMethod(
"setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
}
catch(NoSuchMethodException e){
Log.e(TAG, "onMenuOpened", e);
}
catch(Exception e){
throw new RuntimeException(e);
}
}
}
return super.onMenuOpened(featureId, menu);
}