Mes RadioButtons dans mon RadioGroup laissent un cercle coché noir après que je les décoche ou clique sur un autre RadioButton dans le groupe. Comment éviter que cela ne se produise?
<RadioGroup
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical">
<RadioButton
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:text="Test"
Android:textAlignment="textStart"
Android:layoutDirection="rtl"
Android:layout_gravity="start"
Android:background="?android:selectableItemBackground"/>
<RadioButton
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:textAlignment="textStart"
Android:layoutDirection="rtl"
Android:layout_gravity="start"
Android:background="?android:selectableItemBackground"/>
</RadioGroup>
Cela se produit sur mon appareil réel API 19, pas sur mon API 27
Modifier: _________________________________________________
J'ai essayé d'utiliser un sélecteur personnalisé qui ne fonctionne pas
<RadioGroup
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_below="@id/qrmenu_toolbar"
Android:orientation="vertical">
<RadioButton
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:text="Resume"
Android:layoutDirection="rtl"
Android:layout_gravity="start"
Android:drawablePadding="12dp"
Android:paddingStart="16dp"
Android:paddingTop="12dp"
Android:paddingEnd="16dp"
Android:paddingBottom="12dp"
app:drawableLeftCompat="@drawable/ic_resume"
Android:button="@drawable/radiobutton_selector"
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:drawable="@drawable/radio_checked" Android:state_checked="true" />
<item Android:drawable="@drawable/radio_unchecked" Android:state_checked="false" />
</selector>
Thème:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorBlack</item>
<item name="colorPrimaryDark">@color/colorBlack</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
Bump ne trouve toujours pas de solution
Modifier: ______________________________________
J'ai également essayé d'utiliser des boutons radio personnalisés ... ne fonctionne toujours pas:
<RadioButton
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:button="@drawable/custom_radio_button"/>
RadioButton personnalisé:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_checked="true" Android:drawable="@drawable/ic_radio_button_checked"/>
<item Android:state_checked="false" Android:drawable="@drawable/ic_radiobutton_unchecked"/>
</selector>
Supprimer l'arrière-plan du bouton radio
Android:background="?android:selectableItemBackground"
et utilise Android:button="@drawable/radiobutton_selector"
Voici un exemple de bouton radio personnalisé sous Android. veuillez regarder cela. Peut-être que cette aide pour vous. http://www.apnatutorials.com/Android/android-radiobutton-customization-and-usage.php?categoryId=2&subCategoryId=62&myPath=Android/android-radiobutton-customization-and-usage.php
Utilisez MaterialRadioButton
de la bibliothèque de support (com.google.Android.material). Le problème peut se produire en raison d'une implémentation différente de RadioButton
en fonction de la version d'API associée aux thèmes et aux sélecteurs. L'utilisation de MaterialRadioButton
unifiera le comportement entre les versions d'API.
Ici est une petite donnée pour ce composant.
'com.google.Android.material:material:1.0.0'
la dépendance doit être importée dans le projet et l'un des thèmes Material doit être utilisé pour l'application.
J'espère que cela aidera.
Vous devez utiliser buttonTint pour cela.
<RadioButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/radioButton"
Android:buttonTint="@color/your_color"/>
Votre radioButton devrait être comme ça. Cependant, cela ne fonctionne pas avant l'api 21 Il existe une solution ici pour les appareils avant API 21 Changer la couleur du cercle du bouton radio