安卓如何更改下拉菜单选中时的颜色(浅色 Holo 主题)

4

我正在开发一款Android平板应用程序。我已经创建了一个自定义操作栏,并成功地将其样式设置为我想要的样子,除了下拉菜单。

我的主题扩展了Holo Light,这意味着当我按下下拉菜单时,它会变成蓝色。我该如何改变它?

1个回答

1

在您的主题中为android:actionDropDownStyle指定自定义样式,该样式本身具有用于自定义状态列表可绘制项的android:background

这是默认指定的一个:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false"
          android:drawable="@drawable/spinner_ab_disabled_holo_dark" />
    <item android:state_pressed="true"
          android:drawable="@drawable/spinner_ab_pressed_holo_dark" />
    <item android:state_pressed="false" android:state_focused="true"
          android:drawable="@drawable/spinner_ab_focused_holo_dark" />
    <item android:drawable="@drawable/spinner_ab_default_holo_dark" />
</selector>

你需要为每个状态提供自己的图像(以及mdpi,hdpi和xhdpi)。 您可以修改平台提供的那些图像,以使您的生活更轻松。在 SDK/platforms/platform-14/data/res/ 中查找 drawable-mdpi、drawable-hdpi 和 drawable-xhdpi 文件夹。

我将以下内容添加到我的主题中:<item name="android:actionDropDownStyle">@style/MySpinner</item>然后创建<!-- style the items within the overflow menu --> <style name="MySpinner" > <item name="android:background">@drawable/spinner_background</item> </style> 但是似乎没有起作用。在XML布局中将spin_background drawable添加为spinner的背景时,它可以正常工作。因此,我可以排除drawable存在问题的可能性。 - bencallis

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