Ajouter des cases d'option à votre application

Essayer Compose
Jetpack Compose est le kit d'outils d'interface utilisateur recommandé pour Android. Découvrez comment ajouter des composants dans Compose.

Les cases d'option permettent à l'utilisateur de sélectionner une option dans un ensemble d'options mutuellement exclusives. Utilisez des cases d'option si l'utilisateur doit voir toutes les options disponibles. Si ce n'est pas nécessaire, utilisez plutôt un sélecteur.

Exemple de cases d'option sur material.io
Figure 1. Exemple de cases d'option de Material Design.

Pour créer chaque option de case d'option, créez un RadioButton dans votre mise en page. Comme les cases d'option sont mutuellement exclusives, regroupez-les dans un RadioGroup. Le système s'assure qu'une seule case d'option d'un groupe peut être sélectionnée à la fois.

Répondre aux événements de clic

Lorsque l'utilisateur sélectionne une case d'option, l'objet RadioButton correspondant reçoit un événement de clic.

L'exemple suivant montre une réaction à l'utilisateur qui appuie sur un objet RadioButton dans un groupe :

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pirates"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ninjas"/>
</RadioGroup>

Dans l'Activity ou le Fragment qui héberge cette mise en page, recherchez vos cases d'option et définissez un écouteur de modification pour chacune d'elles, comme suit :

Kotlin

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked")
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked")
}

Java

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked");
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked");
}

Dans cet exemple, lorsque l'utilisateur appuie sur l'une des cases d'option, un message s'affiche dans Logcat.