【发布时间】:2010-07-05 07:16:31
【问题描述】:
是否可以在 Android spinner 小部件中更改 radio button 的颜色。默认情况下,它为单选按钮显示绿色。
我需要将其更改为其他一些颜色,这可能吗?如何?
【问题讨论】:
标签: android android-widget android-ui android-custom-view
是否可以在 Android spinner 小部件中更改 radio button 的颜色。默认情况下,它为单选按钮显示绿色。
我需要将其更改为其他一些颜色,这可能吗?如何?
【问题讨论】:
标签: android android-widget android-ui android-custom-view
我知道这是一个老问题了,但是这里……
您将需要创建一个自定义主题并使用您的微调器将其应用于活动。
首先,您需要为“新”收音机的选中/未选中状态创建图像,您可以从 sdk 的 res/drawable-* 文件夹中提取给定的图像 btn_radio_on.png 和 btn_radio_off.png。编辑它们以查看您想要的方式(例如更改颜色或其他)并保存到您的项目中。
接下来,在 res/values 文件夹中创建一个新的 xml 文件,并添加以下内容:
<resources>
<style name="CustomSpinnerRadioTheme" parent="@android:style/Theme">
<item name="android:spinnerDropDownItemStyle">@style/EditedRadio</item>
</style>
<style name="EditedRadio" parent="@android:style/Widget.DropDownItem.Spinner">
<item name="android:checkMark">@drawable/edited_radio</item>
</style>
</resources>
然后,在res/drawable 中创建另一个名为edited_radio.xml 的xml 文件,它应该包含以下内容:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/btn_radio_off" />
<item android:state_checked="true" android:drawable="@drawable/btn_radio_on" />
</selector>
请务必参考您已编辑的图像以查看选中状态。然后您只需将CustomSpinnerRadioTheme 应用到您的活动并运行!
我找到的一个很好的资源是Applying Styles and Themes,尤其是Android Styles (styles.xml) 和Android Themes (themes.xml) 上的附加参考
【讨论】: