大家都知道,android的actionbar的溢出菜单默认是不显示图标icon的,那么怎样弄成微信那样可以显示icon呢?
答案是可以利用反射机制让隐藏在Overflow中的MenuItem显示Icon图标,代码如下:
复写下面onMenuOpened方法,并用反射方法实现
@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 (Exception e) {
}
}
}
return super.onMenuOpened(featureId, menu);
}