如何更改溢出菜单项的背景颜色?

4

我想要改变溢出菜单中聚焦/按下的菜单项的蓝色背景。

我的意思是这个:

image

我认为我已经在Themes.xml中覆盖了每个可能的ThemeTheme.Holo属性,并且去到了Styles.xml中的每个样式,但无法更改蓝色背景。

编辑
我发现我应该覆盖的样式是android:dropDownListViewStyle

但它根本不起作用。 但后来我将主题从Theme.Holo.Light.DarkActionBar更改为Theme.Holo.Light,你猜怎么着?它有效了!

所以,有人能解释一下吗?我如何在具有DarkActionBar的主题上更改颜色?

2个回答

3

好的,我找到了解决我的问题的方法:链接到ActionBarSherlock谷歌组中的帖子

我错过了这个条目:android:actionBarWidgetThemeTheme.Holo.Light.DarkActionBar主题中。

现在我所要做的就是定义一个主题来覆盖Theme.Holo,并在其中定义一个样式:<item name="android:dropDownListViewStyle">@style/myDropDownListView</item>,然后指向此主题。

<!-- theme referenced by actionBarWidgetTehme style -->
<style name="Theme.DropDown.Dark" parent="android:style/Theme.Holo">
    <item name="android:dropDownListViewStyle">@style/myDropDownListView</item>
</style>

<!-- my main theme -->
<style name="DarkActionBarRedActionMode" parent="android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarWidgetTheme">@style/Theme.DropDown.Dark</item>
</style>

0

声明一个选择器drawable,并将其设置为listview项目的背景。

参考drawable资源


我知道你的意图,但这并不起作用 - 至少对于这个问题是这样。我已经将listSelector更改为资源。老实说,我没有想到更改这一个会有麻烦。但首先,我需要知道它是哪个元素。 - marcin
你使用LayoutInflater来填充布局还是simple_list_item_1?如果使用simple_list_item_1,可以尝试使用自定义适配器。 - Aprian
我的意思是:要更改溢出按钮的背景,我需要更改android:actionOverflowButtonStyle样式并覆盖<item name="android:background">...</item>。我认为这个背景也将是一个listSelector... - marcin
好的,这是一个本地的ActionBar。所以我没有做任何特别的事情。 - marcin
你是否在两个属性中声明样式?一个带有Android前缀,另一个没有前缀? - Aprian
这是一个本地的ActionBar,没有Sherlock库。因此,我只使用android:前缀。 - marcin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接