Comment changer la CheckBox
couleur par défaut dans Android?
Par défaut, la CheckBox
couleur est verte et je souhaite changer cette couleur.
Si ce n'est pas possible, dites-moi comment faire une coutume CheckBox
?
247
Comment changer la CheckBox
couleur par défaut dans Android?
Par défaut, la CheckBox
couleur est verte et je souhaite changer cette couleur.
Si ce n'est pas possible, dites-moi comment faire une coutume CheckBox
?
android:buttonTint="@color/mybrown"
est un moyen facile de changer la couleur de la boîte.app:buttonTint="@color/mybrown"
place, de cette façon, cela peut fonctionner sur l'API <21Réponses:
Si vous avez plus de
minSdkVersion
21 ans, utilisez l'android:buttonTint
attribut pour mettre à jour la couleur d'une case à cocher:Dans les projets qui utilisent la bibliothèque AppCompat et prennent en charge les versions Android inférieures à 21, vous pouvez utiliser une version compat de l'
buttonTint
attribut:Dans ce cas, si vous souhaitez sous-classer un,
CheckBox
n'oubliez pas d'utiliser à laAppCompatCheckBox
place.RÉPONSE PRÉCÉDENTE:
Vous pouvez modifier
CheckBox
s drawable en utilisant l'android:button="@drawable/your_check_drawable"
attribut.la source
contentControl
maintenant les options: materialdoc.com/components/selection-controlsVous pouvez changer la couleur directement en XML. Utilisation
buttonTint
pour la boîte: (à partir du niveau API 23)Vous pouvez également le faire en utilisant
appCompatCheckbox v7
pour les anciens niveaux d'API:la source
vous pouvez définir le thème android de la case à cocher pour obtenir la couleur souhaitée dans votre styles.xml ajouter:
puis dans votre fichier de mise en page:
contrairement à l'utilisation de
android:buttonTint="@color/CHECK_COLOR"
cette méthode fonctionne sous Api 23la source
Version programmatique:
la source
Utilisez
buttonTint
pour changer la couleur du bouton et du sélecteur de couleur pour la version supérieure à 21+ api.res / colours / checkbox_filter_tint.xml
la source
values
ressource. Comme indiqué par le chemin indiqué ci-dessus, il doit se trouver dans lecolors
dossier de ressources.Je suggérerais d'utiliser l'approche de style dans Android comme moyen de configurer les vues Android intégrées, d'ajouter un nouveau style dans votre projet:
et ajoutez attribuer ce style au thème de la case à cocher: android: theme = "@ style / youStyle"
J'espère que cela t'aides.
la source
la source
Ajoutez cette ligne dans votre
styles.xml
fichier:la source
buttonTint a fonctionné pour moi essayez
android: buttonTint = "@ color / white"
la source
J'ai rencontré le même problème, j'ai obtenu une solution en utilisant la technique ci-dessous. Copiez le
btn_check.xml
dansandroid-sdk/platforms/android-#(version)/data/res/drawable
le dossier dessinable de votre projet et modifiez les états d'image «on» et «off» en vos images personnalisées.Ensuite, votre xml aura juste besoin
android:button="@drawable/btn_check"
Si vous souhaitez utiliser différentes icônes Android par défaut, vous pouvez utiliser:
la source
Vous pouvez changer la
checkbox
couleur en utilisant une seule ligne de codeandroid:buttonTint="@color/app_color" //whatever color
la source
Approche 100% robuste.
Dans mon cas, je n'avais pas accès au fichier source de mise en page XML, car je reçois Checkbox à partir d'une bibliothèque MaterialDialog tierce. Je dois donc résoudre ce problème par programme.
res / color / checkbox_tinit_dark_theme.xml:
Ensuite, appliquez-le à la case à cocher:
PS De plus, si quelqu'un est intéressé, voici comment obtenir votre case à cocher dans la boîte de dialogue MaterialDialog (si vous la définissez avec
.checkBoxPromptRes(...)
):J'espère que cela t'aides.
la source
créez un xml
Drawable resource file
sousres->drawable
et nommez-le, par exemple,checkbox_custom_01.xml
Téléchargez vos fichiers d'image de case à cocher personnalisés (je recommande png) sur votre
res->drawable
dossier.Ensuite, allez dans votre fichier de mise en page et changez votre case à cocher en
vous pouvez personnaliser n'importe quoi, tant qu'il
android:button
pointe vers le fichier XML correct que vous avez créé auparavant.REMARQUE POUR LES NOUVEAUX: bien que ce ne soit pas obligatoire, il est néanmoins recommandé de nommer votre case à cocher avec un identifiant unique dans l'ensemble de votre arborescence.
la source
Salut C'est le code du thème pour le thème sombre et le thème clair.
Si vous souhaitez modifier la couleur de la case à cocher, l'attribut "colorAccent" sera utilisé pour l'état vérifié et "android: textColorSecondary" sera utilisé pour l'état décoché.
"actionOverflowButtonStyle" utilisera pour changer la couleur de l'icône de débordement dans la barre d'action.
L'attribut "buttonsearch_picture" sera utilisé pour changer la couleur de teinte du bouton d'action dans la barre d'action. Il s'agit d'un attribut personnalisé dans style.xml
Il en va de même pour le bouton d'actualisation que j'utilise dans mon application.
L'attribut "android: popupMenuStyle" utilise pour obtenir le style de menu contextuel du thème clair dans le thème foncé.
Et voici le code de la barre d'outils que j'utilise dans mon application Rocks Player.
Thèmes: -
la source
vous pouvez créer votre propre xml dans drawable et l'utiliser comme android: background = "@ drawable / your_xml"
en ce que vous pouvez tout donner au coin de la frontière
la source
Vous pouvez utiliser les deux propriétés suivantes dans "colours.xml"
colorControlNormal est pour la vue normale de la case à cocher, et colorControlActivated est lorsque la case est cochée.
la source
Vous pouvez changer la couleur d'arrière-plan du en l'
<CheckBox>
intégrant à l'intérieur d'un<LinearLayout>
. Modifiez ensuite la couleur d'arrière-plan de<LinearLayout>
la couleur souhaitée.la source
Vous devriez essayer ci-dessous le code. Ça marche pour moi.
et CheckBox
la source
Si vous allez utiliser les icônes Android, comme décrit ci-dessus.
.. c'est une bonne option, mais pour que cela fonctionne - j'ai trouvé que vous devez ajouter une logique de bascule pour afficher / masquer la coche, comme ceci:
la source
La plupart des réponses passent par le fichier xml. Si vous trouvez une réponse active pour la plupart des versions d'Android et que vous n'avez qu'une seule couleur pour les deux états Cochez et décochez: voici ma solution:
Kotlin:
Java:
la source
Il existe un moyen beaucoup plus simple de définir la couleur par programmation. Utilisez la méthode ci-dessous, Checkbox.setButtonTintList (ColorStateList.valueOf (getContext (). GetColor (R.color.yourcolor)))
la source
Vous pouvez utiliser les lignes de code ci-dessous pour modifier l'arrière-plan de la case à cocher dynamiquement dans votre code java.
Cette réponse provenait de ce site . Vous pouvez également utiliser ce site pour convertir votre couleur RVB en valeur hexadécimale, vous devez alimenter le parseColor
la source