我试图在android上设置选项菜单。我使用自定义主题更改了背景颜色,但由于某种原因,我无法更改文本颜色。
我的主题
<style name="default" parent="@android:style/Theme.NoTitleBar">
<!-- Menu panel colors -->
<item name="android:panelBackground">@color/optionsMenuBackgroundColor</item>
<item name="android:panelFullBackground">@color/optionsMenuBackgroundColor</item>
<!-- Menu item colors -->
<item name="android:itemTextAppearance">@style/OptionsMenuFont</item>
</style>
我的选项菜单字体样式
<style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">@drawable/menu_item_font</item>
</style>
我的抽象按钮颜色选择器menu_item_font.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Put other state colors up top -->
<item android:color="@color/optionsMenuTextColor" />
</selector>
该颜色只是一种十六进制颜色#c4c4c4
我在这里缺少什么?
答案 0 :(得分:1)
您可以更改文本颜色,但应该在textColor标记下。你不能把drawable放在任何textColor中(既不在样式中也不在布局中)。如果要更改颜色,请将样式更改为:
<style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">#c4c4c4</item>
</style>
答案 1 :(得分:0)
这个问题已经多次以不同的方式提出。使用XML布局,您可以更改背景颜色,但不能更改文本颜色:
http://code.google.com/p/android/issues/detail?id=4441
但是,您可以编写一个自定义类来完成菜单的蒙皮:
http://www.techjini.com/blog/customizing-background-and-text-color-in-options-menu-android/