Android - 自定义Spinner小部件外观

时间:2010-07-05 07:16:31

标签: android android-widget android-ui android-custom-view

是否可以更改Android 微调框小部件radio button的颜色。默认情况下,它会显示单选按钮的绿色。

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

1 个答案:

答案 0 :(得分:12)

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

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

首先,您需要为“新”广播的已选中/未选中状态创建图像,您只需从sdk的btn_radio_on.png文件夹中提取给定图像btn_radio_off.pngres/drawable-* (S)。编辑它们以查看您想要的内容(例如更改颜色或其他内容)并保存到项目中。

接下来,在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的{​​{1}}中创建另一个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> 应用于您的活动并运行!

我发现的一个很好的资源是Applying Styles and Themes,尤其是Android Styles (styles.xml)Android Themes (themes.xml)上的其他参考