如何改变android中的popup菜单的文本颜色和大小?

popup式菜单中的文本颜色即使在样式中更改也不会更改。 背景颜色相对于styles.xml中的颜色而改变,但是文本颜色和文本大小不反映。

//Creating the instance of PopupMenu PopupMenu popup = new PopupMenu(mContext, holder.im_overflow); //Inflating the Popup using xml file popup.getMenuInflater().inflate(R.menu.list_overflow_menu, popup.getMenu()); //registering popup with OnMenuItemClickListener popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if( item.getTitle().equals("Edit")){ callEdit(); } else if( item.getTitle().equals("Export")) { callShare(); } else if( item.getTitle().equals("Delete")) { callDelete(); } return true; } }); popup.show(); 

Styles.xml

 <style name="AppBaseTheme" parent="@android:style/Theme.Light.NoTitleBar"> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <item name="android:popupMenuStyle">@style/PopupMenu</item> </style> <style name="PopupMenu" parent="@android:style/Widget.PopupMenu"> <item name="android:popupBackground">@android:color/white</item> <item name="android:textColor">#FF01F0</item> <item name="android:textSize">12sp</item> </style> 

但它不会改变文字颜色。

Solutions Collecting From Web of "如何改变android中的popup菜单的文本颜色和大小?"

您可以通过将此代码添加到styles.xml中并在清单文件中使用它来更改文本的大小和颜色。 对我来说,它的工作。

 <style name="AppTheme" parent="AppBaseTheme"> <item name="android:popupMenuStyle">@style/PopupMenu</item> <item name="android:textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item> <item name="android:textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item> </style> <style name="PopupMenu" parent="@android:style/Widget.PopupMenu"> <item name="android:popupBackground">@android:color/white</item> <item name="android:textColor">#FF01F0</item> <item name="android:textSize">12sp</item> </style> <style name="myPopupMenuTextAppearanceSmall" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Small"> <item name="android:textColor">#545656</item> <item name="android:textSize">15sp</item> </style> <style name="myPopupMenuTextAppearanceLarge" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Large"> <item name="android:textColor">#545656</item> <item name="android:textSize">25sp</item> </style>