大家都知道,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);
}