Je voulais créer des sélecteurs personnalisables pour certains boutons radio que je voulais avoir. Voici un exemple de comment je voudrais que mes sélecteurs drawable je voudrais. Ils sont les Public
et les Followers
sélecteurs comme indiqué ci-dessous:Création d'un sélecteur personnalisable?
Le problème est que j'ai du mal à coiffer mes sélecteurs de cette manière et je ne peux pas à comprendre pourquoi je ne peux pas obtenir un aperçu gris avec un fond de blanc sur les boutons radio non sélectionnés.
Ce fut ma tentative:
privacy_toggle_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
android:layout_margin="16dp"
xmlns:android="http://schemas.android.com/apk/res/android"
android:checkedButton="@+id/offer"
android:id="@+id/privacy_toggle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/pick_out_line"
android:orientation="horizontal">
<RadioButton
android:id="@+id/public_toggle"
android:background="@drawable/toggle_widget_background"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:button="@null"
android:gravity="center"
android:text="@string/publicString"
android:textAllCaps="true"
android:textSize="18sp"
android:textColor="@color/white" />
<RadioButton
android:id="@+id/followers_toggle"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/toggle_widget_background"
android:button="@null"
android:gravity="center"
android:text="@string/followers"
android:checked="true"
android:textSize="18sp"
android:textAllCaps="true"
android:textColor="@color/white" />
</RadioGroup>
drawable/pick_out_line.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="2dp" />
<solid android:color="@color/teal" />
<stroke
android:width="5dp"
android:color="@color/material_color_grey_400" />
</shape>
toggle_widget_background.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/teal" android:state_checked="true" />
<item android:drawable="@color/teal" android:state_pressed="true" />
<item android:drawable="@color/white" />
</selector>
I pensé dans pick_out_line.xml
, en réglant le stroke
à 5dp devrait rendre la frontière grise mais il n'apparaît pas en gris sur le RadioButton
. En outre, je n'arrive pas à comprendre comment faire le RadioButton
non sélectionné avec un fond blanc avec du texte gris. Si quelqu'un pouvait m'aider, ce serait génial. Merci.