Light.DarkActionBar菜单项文本颜色不可更改?

Chr*_*ner 21 android android-menu actionbarsherlock android-actionbar

我一直在开发的应用程序使用ActionBarSherlock,主题继承自Theme.Sherlock.Light.DarkActionBar.该设计要求溢出菜单弹出窗口具有深色背景和白色文本.这适用于没有物理菜单按钮的设备,文本显示为预期的白色.但是,如果设备具有物理菜单按钮,则显示的菜单中显示的文本仍为黑色.

我的主题包含

<item name="android:panelBackground">@drawable/menu_hardkey_panel</item>
Run Code Online (Sandbox Code Playgroud)

...其中@ drawable/menu_hardkey_panel是深色9patch.

菜单弹出窗口的结果是...... Light.DarkActionbar问题

我无法确定为什么会发生这种情况,或者如何手动更改文本的颜色.在我的主题中,我尝试了以下所有内容......

<item name="android:actionMenuTextColor">@android:color/white</item>
<item name="android:textAppearanceLargePopupMenu">@style/MyMenuTextAppearance.Large</item>
<item name="android:textAppearanceSmallPopupMenu">@style/MyMenuTextAppearance.Small</item>
Run Code Online (Sandbox Code Playgroud)

我甚至试过了

<item name="android:actionBarWidgetTheme">@style/Theme.MyApp.Dark</item>
Run Code Online (Sandbox Code Playgroud)

...... Theme.MyApp.Dark在哪里......

<style name="Theme.MyApp.Dark" parent="@style/Theme.Sherlock">
    <item name="android:dropDownListViewStyle">@style/DropDownListView</item>
    <item name="dropDownListViewStyle">@style/DropDownListView</item>
</style>
Run Code Online (Sandbox Code Playgroud)

没有人允许我将文本更改为白色.如果我让我的基本主题继承自Theme.Sherlock,问题就解决了,文本是白色的,但不幸的是,这不是一个选项.

Jay*_*yer 2

对此并不完全确定,但我相信弹出菜单使用与溢出菜单相同的样式。在这种情况下,你只需做这样的事情。

<item name="android:itemTextAppearance">@style/your_new_text_appearance</item>

<style name="your_new_text_appearance">
    <item name="android:textColor">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)