Comment changer la CheckBox
dans Android ?
Par défaut, la CheckBox
est verte, et je veux changer cette couleur.
Si ce n'est pas possible, merci de me dire comment faire un CheckBox
?
Réponses
Trop de publicités?Vous pouvez changer la couleur directement en XML. Utilisez buttonTint
pour la box : (à partir du niveau d'API 23)
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/CHECK_COLOR" />
Vous pouvez également le faire en utilisant appCompatCheckbox v7
pour les anciens niveaux d'API :
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/COLOR_HERE" />
vous pouvez définir le thème Android de la case à cocher pour obtenir la couleur que vous voulez dans votre styles.xml ajouter :
<style name="checkBoxStyle" parent="Base.Theme.AppCompat">
<item name="colorAccent">CHECKEDHIGHLIGHTCOLOR</item>
<item name="android:textColorSecondary">UNCHECKEDCOLOR</item>
</style>
puis dans votre fichier layout :
<CheckBox
android:theme="@style/checkBoxStyle"
android:id="@+id/chooseItemCheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
contrairement à l'utilisation de android:buttonTint="@color/CHECK_COLOR"
cette méthode fonctionne sous Api 23
Utilisez buttonTint
pour changer la couleur du bouton et du sélecteur de couleur pour les versions d'api ci-dessus 21+.
<android.support.v7.widget.AppCompatCheckBox
android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:buttonTint="@color/checkbox_filter_tint"
tools:targetApi="21"/>
res/couleurs/checkbox_filter_tint.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/light_gray_checkbox"
android:state_checked="false"/>
<item android:color="@color/common_red"
android:state_checked="true"/>
</selector>