Je sais que c'est une vieille question maintenant, mais voilà ...
Vous devez créer un thème personnalisé et l'appliquer à l'activité avec votre spinner.
Tout d'abord, vous devez créer des images pour les états vérifiés/non contrôlées de la « nouvelle » radio, vous pouvez simplement tirer les images données btn_radio_on.png
et btn_radio_off.png
du res/drawable-*
dossier du sdk (s). Modifiez-les pour voir comment vous voulez (comme changer de couleur ou autre) et sauvegardez votre projet.
Ensuite, créez un nouveau fichier xml dans votre dossier res/values
, et ajouter ce qui suit:
<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>
Ensuite, créez un fichier xml dans res/drawable
nommé edited_radio.xml
, et il doit contenir les éléments suivants:
<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>
Assurez-vous simplement de référencer vos images éditées pour les états cochés. Ensuite, il vous suffit d'appliquer le CustomSpinnerRadioTheme
à votre activité et lancez!
Une bonne ressource que je trouve est Applying Styles and Themes en particulier la référence supplémentaire sur Android Styles (styles.xml) et Android Themes (themes.xml)
liens cassés ... – Prakash