如何在MenuItem中添加icon图标

如何在MenuItem中添加icon图标

[DESCRIPTION]

如何在 MenuItem 中添加 icon 图标

[SOLUTION]

Android 大多數的 option menu 都沒有 icon, 即使 app 設置了 icon resource, 這是 google design
不建議修改, 至於為什麼仍可以設置 icon, 一方面是為了 compatible, 一方面仍有一些 menu 是有 icons 的
只有少部份的 option menu 有 icon,
1. ActionBar 上的 overflow button 點下去會出現 option menu, 如果其中一個有 menu item 有 submenu, 那麼這
個 submenu 可以有 icon
2. MenuPopupHelper: 很多的 popup window 都可以帶 icon, 例如 PopupMenu
3. IconMenuView: 比較早期的 android 例如 2.2, 就是用最多六格來顯示, 這個可以有 icon
如果堅持要修改, framework 有一條路 MenuBuilder.setOptionalIconsVisible(boolean visible)
但因為這個 method 不是 public 的, 沒辦法用 reflection 拿到,
可以將 Menu.JAVA interface 增加此 method, 然後因為 MenuBuilder 是 extends from Menu
於是所有的 app 可以自己決定要不要 icons
或是直接改 MenuBuilder.java 的 private boolean mOptionalIconsVisible = false;
直接更改為 true, 那就所有 menu item default 都有 icon


猜你喜欢

转载自blog.csdn.net/sandform/article/details/52025315