Dodawanie opcji do aplikacji

Wypróbuj tworzenie wiadomości
Jetpack Compose to zalecany zestaw narzędzi interfejsu na Androida. Dowiedz się, jak dodawać komponenty w sekcji Tworzenie.

Przyciski opcji umożliwiają użytkownikowi wybranie jednej opcji z grupy opcji wzajemnie się wykluczających. Używaj ich, jeśli użytkownik musi widzieć wszystkie dostępne opcje. Jeśli nie musisz wyświetlać wszystkich opcji, użyj suwaka.

Przykład przycisków opcji z material.io
Rysunek 1. Przykład opcji w Material Design

Aby utworzyć opcję przycisku opcji, utwórz RadioButtonw swoim układzie. Opcje są wzajemnie wykluczające się, więc musisz je umieścić w grupieRadioGroup. System zapewnia, że w danej chwili może być zaznaczona tylko jedna opcja w grupie.

Odpowiadanie na zdarzenia kliknięcia

Gdy użytkownik wybierze przycisk opcji, odpowiadający mu obiekt RadioButton otrzyma zdarzenie po kliknięciu.

Ten przykład pokazuje reakcję na kliknięcie przez użytkownika obiektu RadioButton w grupie:

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

W komponencie Activity lub Fragment, który zawiera ten układ, znajdź przyciski radiowe i dla każdego z nich ustaw odbiornik zmian:

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

W tym przykładzie, gdy użytkownik kliknie jeden z przycisków opcji, w Logcat zostanie wyświetlony komunikat.