本文实例讲述了Android编程实现自定义PopupMenu样式。分享给大家供大家参考,具体如下:
PopupMenu是Android中一个十分轻量级的组件。与PopupWindow相比,PopupMenu的可自定义的能力较小,但使用更加方便。
先上效果图:
本例要实现的功能如下:
1.强制显示菜单项的图标。
默认状态下,PopupMenu的图标是不显示的,并且Android没有为我们开放任何API去设置它的显示状态。为了显示菜单项的图标,可以自己重写PopupMenu并修改相关属性,也可以直接使用反射:
try {
Field field = popupMenu.getClass().getDeclaredField("mPopup");
field.setAccessible(true);
MenuPopupHelper mHelper = (MenuPopupHelper) field.get(popupMenu);
mHelper.setForceShowIcon(true);
} catch (IllegalAccessException | NoSuchFieldException e) {
e.printStackTrace();
}
2.在菜单项上添加 单选/复选 按钮:在menu的资源文件中使用