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 parmi un ensemble d'options s'excluant mutuellement. Utilisez les cases d'option si l'utilisateur a besoin de voir toutes les options disponibles. S'il n'est pas nécessaire d'afficher toutes les options, utilisez plutôt un spinner.

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

Pour créer chaque option de case d'option, créez un RadioButton dans votre mise en page. Étant donné que les cases d'option s'excluent mutuellement, regroupez-les dans un RadioGroup. Le système garantit qu'une seule case d'option au sein 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 lors d'un clic.

L'exemple suivant montre une réaction lorsque l'utilisateur 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 les éléments Activity ou Fragment qui hébergent cette mise en page, recherchez les 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.