我想更改用户按下溢出图标时显示的弹出菜单的背景和文字颜色。
如果我使用Theme.Holo或Theme.Holo.Light它可以工作,但我正在使用Theme.Holo.Light.DarkActionBar,它永远不会工作。我开始假设这是一个Android错误。
我正在测试带有4.4.2的Nexus 4,但它也无法在带有API 19的仿真器上运行。
在尝试了StackOverflow中遇到的大量潜在解决方案后,我正在做的是:
<style name="Theme.MyApp" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarWidgetTheme">@style/ActionBarWidget</item>
</style>
<style name="AndroidPitActionBarWidget" parent="android:Theme.Holo.Light">
<item name="android:popupMenuStyle">@android:style/Widget.Holo.Light.PopupMenu</item>
<item name="android:dropDownListViewStyle">@android:style/Widget.Holo.Light.ListView.DropDown</item>
</style>
虽然有效,但它会改变SearchView的样式,这是另一个需要改变的痛苦。 所以我不认为这是一个解决方案。
我想要的只是将弹出窗口的背景/文本更改为Light版本,即浅色背景和黑色文本。
我也尝试在主题中设置这两个属性,而不是使用actionBarWidgetTheme。
在这类问题上浪费时间真是令人沮丧。
我也尝试使用动作栏样式生成器使背景变白,但文本是白色的,我无法将其更改为黑色。
非常感谢。
答案 0 :(得分:0)
如果使用操作栏样式生成器中的主题设置该面板的背景颜色,则可以尝试添加下拉列表视图的android:textColor
属性。
如果这不起作用,您可以在onCreateOptionsMenu方法中交替设置代码中的字符串颜色,详见this SO thread