我一直在开发的应用程序使用ActionBarSherlock,主旋律继承自Theme.Sherlock.Light.DarkActionBar。该设计要求溢出菜单弹出窗口具有深色背景和白色文本。这适用于没有物理菜单按钮的设备,并且文本按预期显示为白色。但是,如果设备确实有物理菜单按钮,则显示的菜单中显示的文本仍为黑色。
我的主题包含
<item name="android:panelBackground">@drawable/menu_hardkey_panel</item>
...@drawable/menu_hardkey_panel 是一个深色的 9patch。
菜单弹出的最终外观是......
我无法确定为什么会发生这种情况,或者如何手动更改文本的颜色。在我的主题中,我尝试了以下所有方法......
<item name="android:actionMenuTextColor">@android:color/white</item>
<item name="android:textAppearanceLargePopupMenu">@style/MyMenuTextAppearance.Large</item>
<item name="android:textAppearanceSmallPopupMenu">@style/MyMenuTextAppearance.Small</item>
我什至试过
<item name="android:actionBarWidgetTheme">@style/Theme.MyApp.Dark</item>
... 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>
没有人让我将文本更改为白色。如果我让我的基本主题继承自 Theme.Sherlock,问题就解决了,文本是白色的,但不幸的是,这不是一个选项。