8

是否可以更改radio buttonAndroid微调器小部件中的颜色。默认情况下,它为单选按钮显示绿色。

我需要将其更改为其他颜色,是否可能,如何?

4

1 回答 1

12

我知道这是一个老问题了,但是这里......

您将需要创建一个自定义主题并使用您的微调器将其应用于活动。

首先,您需要为“新”收音机的选中/未选中状态创建图像,您可以从 sdk 的文件夹中提取给定btn_radio_on.pngbtn_radio_off.png图像res/drawable-*。编辑它们以查看您想要的方式(例如更改颜色或其他)并保存到您的项目中。

接下来,在您的文件夹中创建一个新的 xml 文件res/values,并添加以下内容:

<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然后,在named中创建另一个 xml 文件edited_radio.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到您的活动并运行!

我发现的一个很好的资源是应用样式和主题,尤其是关于Android 样式 (styles.xml)Android 主题 (themes.xml)的附加参考

于 2011-01-11T21:38:27.953 回答