QQ截图20160726155638.png
更改默认menu颜色
定制一个style,永远更改默认背景颜色
false
4dp
4dp
@color/color_green
在我们当前主题中引入
@style/OverflowMenu
android:popupBackground所引用的资源可以是颜色也可以是drawable资源,也可以是图片
使menu显示图标
在menu/main.xml菜单文件中为每个menu设置图标
xmlns:app="http://schemas.android.com/apk/res-auto">
android:icon="@mipmap/menu_group_icon"
android:id="@+id/action_group_chat"
android:title="@string/menu_group_chat" />
android:icon="@mipmap/menu_add_icon"
android:id="@+id/action_add_friend"
android:title="@string/menu_addfriend" />
android:icon="@mipmap/menu_scan_icon"
android:id="@+id/action_scan"
android:title="@string/menu_scan" />
android:icon="@mipmap/menu_feedback_icon"
android:id="@+id/action_feedback"
android:title="@string/menu_feedback" />
然后我们需要通过反射将图标显示出来,在我们的主Activity中添加如下代码
/**
* 通过反射,设置menu显示icon
*
* @param view
* @param menu
* @return
*/
@Override
protected boolean onPrepareOptionsPanel(View view, Menu menu) {
if (menu != null) {
if (menu.getClass() == MenuBuilder.class) {
try {
Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
} catch (Exception e) {
}
}
}
return super.onPrepareOptionsPanel(view, menu);
}