Android - 自定义Spinner小部件外观

Vin*_*tti 8 android android-widget android-custom-view android-ui

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

我需要将它改成其他颜色,是否可能,以及如何?

Kev*_*ion 12

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

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

首先,您需要为"新"收音机的已选中/未选中状态创建图像,您只需从给定的图像btn_radio_on.pngbtn_radio_off.pngsdk的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>
Run Code Online (Sandbox Code Playgroud)

然后,在res/drawablenamed中创建另一个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>
Run Code Online (Sandbox Code Playgroud)

请务必参考已编辑的图像以查看已检查的状态.然后你只需要应用CustomSpinnerRadioTheme你的活动并运行!

我找到的一个很好的资源是应用样式和主题,尤其是Android样式(styles.xml)Android主题(themes.xml)的附加引用