Adicionar botões de opção ao app

Testar o Compose
O Jetpack Compose é o kit de ferramentas de interface recomendado para Android. Aprenda a adicionar componentes no Compose.

Os botões de opção permitem que o usuário selecione uma opção de um conjunto de opções mutuamente exclusivas . Use os botões de opção se o usuário precisar ver todas as opções disponíveis listados. Se não for necessário mostrar todas as opções, use um ícone de carregamento.

.
Exemplo de botões de opção do Material.io
Figura 1. Um exemplo de botões de opção de Material design.

Para criar cada opção de botão, crie um RadioButton no seu layout. Como os botões de opção são mutuamente exclusivos, agrupe-os por RadioGroup: O sistema garante que apenas um botão de opção dentro de um grupo possa ser selecionado em por vez.

Responder a eventos de clique

Quando o usuário seleciona um botão de opção, o O objeto RadioButton recebe um evento de clique.

O exemplo a seguir mostra uma reação ao toque do usuário em um RadioButton em um grupo:

<?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>

No Activity ou no Fragment que hospeda esse do site, encontre seus botões de opção e defina um listener de mudança para cada um deles, conforme da seguinte forma:

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");
}

Neste exemplo, quando o usuário toca em um dos botões de opção, uma mensagem mostra no Logcat.