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 vous n'avez pas besoin 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 de Material Design

Pour créer chaque case d'option, créez un RadioButton dans votre mise en page. Étant donné que les cases d'option s'excluent mutuellement, regroupez-les au sein d'un 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 lorsqu'un 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 l'élément Activity ou 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.