Is it possible to change the color of the radio button
in the Android spinner widget. By default it displays the green color for the radio button.
I need to change it to some other color, is it possible, and how?
I know this is an old question now, but here goes...
You will need to create a custom Theme and apply it to the Activity with your spinner.
First, you need to create images for the checked/unchecked states of the 'new' radio, you could just pull the given images btn_radio_on.png
and btn_radio_off.png
from the sdk's res/drawable-*
folder(s). Edit them to look how you want (such as changing color or whatever) and save off to your project.
Next, create a new xml file in your res/values
folder, and add the following:
<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>
Then, create another xml file in res/drawable
named edited_radio.xml
, and it should contain the following:
<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>
just be sure to reference your edited images for the checked states. Then you just have to apply the CustomSpinnerRadioTheme
to your Activity and run!
A good resource I found is Applying Styles and Themes especially the additional reference on Android Styles (styles.xml) and Android Themes (themes.xml)