Ajouter des cases d'option à votre application

Essayer Compose
Jetpack Compose est le kit d'outils d'UI 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 des cases d'option si l'utilisateur doit voir toutes les options disponibles. Si vous n'avez pas besoin d'afficher toutes les options, utilisez plutôt un sélecteur.

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

Pour créer chaque option de bouton radio, créez un RadioButton dans votre mise en page. Étant donné que les cases d'option s'excluent mutuellement, regroupez-les dans un élément RadioGroup. Le système garantit 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 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 le Activity ou le Fragment qui héberge cette mise en page, recherchez vos boutons d'option et définissez un écouteur de modification pour chacun d'eux, 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, lorsqu'un utilisateur appuie sur l'un des boutons radio, un message s'affiche dans Logcat.