Je souhaite changer la couleur du cercle de RadioButton dans l'un de mes projets , je ne comprenais pas quelle propriété définir. La couleur de fond que j'ai est noire, donc elle devient invisible. Je souhaite définir la couleur du cercle sur blanc.
android
android-radiobutton
Amandeep Singh
la source
la source
Réponses:
Plus simple, il suffit de définir le bouton Couleur de la teinte: (fonctionne uniquement au niveau de l'API 21 ou supérieur)
dans votre values / colors.xml mettez votre couleur dans ce cas une couleur rougeâtre:
Résultat:
Si vous souhaitez le faire par code (également api 21 et supérieur):
la source
control.getDrawable().setColorFilter(getResources().getColor(color), PorterDuff.Mode.SRC_IN);
oùcontrol
est le contrôle que vous voulez changer la teinte etcolor
est une valeur entière de la couleur que vous voulez, par exempleR.color.red
android.R.attr.state_checked
et ajouter la couleur.Mise à jour: 1. utilisez plutôt celui-ci
2. Ajoutez ensuite cette ligne dans la mise en page parent ou
Alt + Enter
dans Android Studio pour l'ajouter automatiquementxmlns:app="http://schemas.android.com/apk/res-auto"
L'exemple minimum devrait ressembler à ceci:
3. Dans votre programme, devrait appeler comme ceci.
AppCompatRadioButton radioButton = (AppCompatRadioButton) view.findViewById(R.id.rbtn_test);
Fondamentalement, ce type de modèle peut être appliqué à tous les types AppCompact tels que AppCompatCheckBox, AppCompatButton, etc.
Ancienne réponse:
Afin de prendre en charge ci-dessous l'API Android 21, vous pouvez utiliser AppCompatRadioButton. Ensuite, utilisez la
setSupportButtonTintList
méthode pour changer la couleur. Ceci est mon extrait de code pour créer un bouton radio.Résultat testé à l'API 19:
Voir le lien de référence Android pour plus de détails.
la source
<android.support.v7.widget.AppCompatRadioButton ../>
setSupportButtonTintList
est une méthode privée que vous n'avez pas l'intention d'utiliser. Les boutons radio se comportent bizarrement sur certaines versions d'Android. Utilisez plutôtCompoundButtonCompat.setButtonTintList(rb, colorStateList)
.la source
Travailler sur l'API avant 21 et après 21. Dans votre article
styles.xml
:Votre
radio button
in xml devrait ressembler à:Il ne vous reste plus
radiobutton_drawable.xml
qu'à créer un fichierdrawable folder
. Voici ce que vous devez y mettre:Votre
radio_unchecked.xml
:Votre
radio_checked.xml
:Remplacez simplement
@color/colorAccent
par la couleur de votre choix.la source
Vous devez utiliser ce code:
Utiliser
app:buttonTint
au lieu deandroid:buttonTint
et aussiandroid.support.v7.widget.AppCompatRadioButton
au lieu deRadiobutton
!la source
Déclarez un style personnalisé dans votre fichier styles.xml.
Appliquez ce style à votre RadioButton via l'attribut android: theme.
seulement si votre activité s'étend
AppCompatActivity
la source
<item name="android:colorControlActivated">@color/pink</item>
pour que cela fonctionne pour moi. Je ne sais toujours pas pourquoi. Sinon, c'est une bonne réponse.Pour sous API 21
Créer un style personnalisé RadioButton style.xml
Dans la mise en page, utilisez le thème:
Pour API 21 et plus
Utilisez simplement buttonTint
la source
La question est ancienne mais je pense que ma réponse aidera les gens. Vous pouvez modifier la couleur de l'état non coché et coché du bouton radio en utilisant le style en xml.
Dans style.xml
Vous pouvez définir les couleurs souhaitées dans ce style.
la source
Définissez la
buttonTint
propriété. Par exempleandroid:buttonTint="#99FF33"
,.la source
Je l'ai fait court comme ça (Travailler sur l'API avant 21 ainsi que après 21)
Votre bouton radio en XML devrait ressembler à ceci
dans radiodraw.xml
devez ajouter une couleur transparente pour dessiner l'état non coché; sinon, il dessine un ovale noir uni.
la source
Parfois, il vous suffit de remplacer colorControlNormal comme ceci:
Et vous obtiendrez un bouton comme celui-ci:
colorControlNormal utilisé pour l'état non vérifié et colorAccent pour vérifié.
la source
Il y a un attribut xml pour cela:
la source
"Make sure your min API is higher then 21 or this won't work"
c'est faux. Je cible l'API 17 avec AndroidX et c'est la seule chose qui a fonctionné pour moiPour ceux qui souhaitent modifier les états de désactivation, coché et activé, procédez comme suit:
puis dans le dossier color res, créez un fichier nommé "radio_button_color.xml":
la source
Tout le bouton changera de couleur, la boîte de cercle et le chèque central.
la source
RadioButton prend par défaut la couleur de colorAccent dans le fichier res / values / colors.xml. Allez donc dans ce fichier et modifiez la valeur de
<color name="colorAccent">#3F51B5</color>
à la couleur souhaitée.
la source
Le moyen le plus simple est de changer la
colourAccent
couleur,values->colours.xml
mais sachez que cela changera également d'autres choses comme modifier la couleur du curseur de texte, etc.
< color name="colorAccent">#75aeff</color >
la source
Si vous souhaitez définir une couleur différente pour le bouton radio cliqué et non cliqué, utilisez simplement:
la source
utilisez simplement l'
android:buttonTint="@color/colorPrimary"
attribut sur la balise, j'espère que cela vous aiderala source
J'ai eu ce problème. Si votre application a un arrière-plan noir et que vous avez beaucoup de RadioButtons invisibles à cause de l'arrière-plan, il est compliqué d'éditer le android: buttonTint de chacun, la meilleure solution est de changer le thème parent dans votre fichier styles.xml
j'ai changé
à
Ainsi, les cercles des RadioButtons sont devenus une teinte plus claire de gris et maintenant ils sont visibles même avec un fond noir.
Voici mon fichier style.xml:
la source
@ jh314 est correct. Dans AndroidManifest.xml,
Dans style.xml
le nom de l'élément doit être colorAccent, il décide de la couleur par défaut des widgets de l'application.
Mais si vous voulez changer la couleur du code, la réponse de Maybe @ aknay est correcte.
la source