PopupMenu popup = new PopupMenu(this, v); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.main, popup.getMenu()); popup.show();
PopupMenu popup = new PopupMenu(this, v); try { Field field = popup.getClass().getDeclaredField("mPopup"); field.setAccessible(true); MenuPopupHelper mHelper = (MenuPopupHelper) field.get(popup); mHelper.setForceShowIcon(true); } catch (Exception e) { e.printStackTrace(); } MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.main, popup.getMenu()); popup.show();
首先呢,定义一个style:
<style name="MyPopupMenu" > <item name="android:popupBackground">#50f500</item> </style>在AppThem中,加上如下代码(有android:存在,定义的样式就不起作用):
<item name="popupMenuStyle">@style/MyPopupMenu</item>背景就改成上面的颜色了。
先定义一个:
<style name="MyTextAppearance"> <item name="android:textColor">#ffffff</item> <item name="android:textSize">20sp</item> </style>在AppThem中,加上如下代码:
<item name="textAppearanceSmallPopupMenu">@style/MyTextAppearance</item> <item name="textAppearanceLargePopupMenu">@style/MyTextAppearance</item>这两个总有一个会起作用。
<style name="MyListViewStyle"> <item name="android:divider">#F00</item> <item name="android:dividerHeight">1px</item> </style>在AppThem中,加上如下代码:
<item name="android:dropDownListViewStyle">@style/MyListViewStyle</item>分割线就有了