Dodawanie opcji do aplikacji

Wypróbuj sposób tworzenia wiadomości
Jetpack Compose to zalecany zestaw narzędzi UI na Androida. Dowiedz się, jak dodawać komponenty w oknie tworzenia wiadomości

Przyciski opcji pozwalają użytkownikowi wybrać jedną z dostępnych, wzajemnie się opcji. Jeśli użytkownik chce zobaczyć wszystkie dostępne opcje, użyj przycisków. Jeśli nie musisz wyświetlać wszystkich opcji, użyj wskaźnika czasowego.

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

Aby utworzyć każdą opcję, utwórz RadioButton w układzie. Przyciski opcji wzajemnie się wykluczają, dlatego pogrupuj je w elemencie RadioGroup. System dba o to, aby w danym momencie można było wybrać tylko jedną opcję w grupie.

Reagowanie na zdarzenia kliknięcia

Gdy użytkownik wybierze opcję, odpowiedni obiekt RadioButton otrzyma zdarzenie po kliknięciu.

Ten przykład przedstawia reakcję, gdy użytkownik kliknie obiekt 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 usłudze Activity lub Fragment hostującej ten układ znajdź odpowiednie przyciski opcji i ustaw odbiornik zmian dla każdej z nich w ten sposób:

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 jedną z opcji, w aplikacji Logcat zostanie wyświetlona wiadomość.