menu不顯示icon圖示的問題
阿新 • • 發佈:2019-01-26
Android系統中預設的menu只顯示標題,不顯示圖示,可通過 反射 解決。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu_chart,menu);
setIconsVisible(menu,true);
return true;
}
/**
* 解決不顯示menu icon的問題
* @param menu
* @param flag
*/
private void setIconsVisible(Menu menu, boolean flag) {
//判斷menu是否為空
if(menu != null) {
try {
//如果不為空,就反射拿到menu的setOptionalIconsVisible方法
Method method = menu.getClass().getDeclaredMethod("setOptionalIconsVisible" , Boolean.TYPE);
//暴力訪問該方法
method.setAccessible(true);
//呼叫該方法顯示icon
method.invoke(menu, flag);
} catch (Exception e) {
e.printStackTrace();
}
}
}