是否可以更改 Android 微调器小部件 中单选按钮
的颜色。默认情况下,它显示单选按钮的绿色。
我需要将其更改为其他颜色,这可能吗?如何?
最佳答案
我知道这是一个老问题了,但是现在...
您需要创建一个自定义主题并将其应用到带有微调器的 Activity 中。
首先,您需要为"new" radio 的选中/未选中状态创建图像,您可以只提取给定的图像 btn_radio_on.png
和 btn_radio_off.png
来自 sdk 的 res/drawable-*
文件夹。将它们编辑成你想要的样子(比如改变颜色或其他)并保存到你的项目中。
接下来,在您的 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
应用到您的 Activity 并运行!
我找到的一个很好的资源是 Applying Styles and Themes特别是关于 Android Styles (styles.xml) 的额外引用和 Android Themes (themes.xml)
关于Android - 自定义 Spinner 小部件的外观和感觉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3177700/