إضافة أزرار الاختيار إلى تطبيقك

تجربة طريقة الإنشاء
Jetpack Compose هي مجموعة أدوات واجهة المستخدم المقترَحة لنظام التشغيل Android. تعرّف على كيفية إضافة مكونات في Compose.

وتتيح أزرار الاختيار للمستخدِم تحديد خيار واحد من بين مجموعة من الخيارات التبادلية. استخدم أزرار الاختيار إذا كان المستخدم بحاجة إلى رؤية جميع الخيارات ال المتاحة المدرجة. إذا لم يكن من الضروري عرض جميع الخيارات، استخدِم أداة تثبيت بدلاً من ذلك.

مثال على أزرار الاختيار منmaterial.io
الشكل 1. مثال على أزرار الاختيار من Material Design.

لإنشاء كل خيار لزر الاختيار، أنشئ RadioButton في التنسيق. بما أنّ أزرار الاختيار متعارضة، يمكنك تجميعها داخل RadioGroup. يضمن النظام إمكانية تحديد زر اختيار واحد فقط داخل المجموعة في كل مرة.

الاستجابة لأحداث النقر

عندما ينقر المستخدم على زر اختيار، يتلقّى عنصر RadioButton المقابل حدثًا عند النقر.

يوضّح المثال التالي تفاعلاً للمستخدم الذي ينقر على عنصر RadioButton في مجموعة:

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

ضمن Activity أو Fragment الذي يستضيف هذا التنسيق، ابحث عن أزرار الاختيار واضبِط أداة معالجة التغيير لكلٍ منها، على النحو التالي:

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

في هذا المثال، عندما ينقر المستخدم على أحد أزرار الاختيار، يتم عرض رسالة في Logcat.