أزرار التبديل في Glimmer من Jetpack Compose

أجهزة XR المشمولة
تساعدك هذه الإرشادات في إنشاء تجارب لهذه الأنواع من أجهزة XR.
نظّارة ذكية

في Jetpack Compose Glimmer، يكون ToggleButton مكوّنًا تفاعليًا يغيّر مظهره استنادًا إلى حالة محدّدة. تم تحسين أزرار الإيقاف/التفعيل لنظارات العرض من أجل توفير انتقالات مرئية واضحة في الشكل واللون. تشير هذه الانتقالات إلى أنّ إجراءً أو إعدادًا معيّنًا نشط.

استخدِم أزرار الإيقاف/التفعيل لعرض الإجراءات التي يمكن تفعيلها أو إيقافها. على عكس أزرار الإيقاف/التفعيل التي تعرض الرموز فقط، يعرض زر الإيقاف/التفعيل محتوى نصيًا في المقام الأول، على الرغم من أنّه يتيح استخدام خانات اختيارية للرموز من أجل توفير سياق إضافي.

بالنسبة إلى حالات الاستخدام الأخرى، تتوفّر أيضًا الأزرار العادية وأزرار الرموز.

الشكل 1. مثال على زر إيقاف/تفعيل في Jetpack Compose Glimmer يُستخدَم لإجراءَي التشغيل والإيقاف المؤقت في تنسيق واجهة مستخدم

علم التشريح

يتألّف زر الإيقاف/التفعيل من حاوية تتغيّر بين الحالات وتصنيف يتضمّن رموزًا اختيارية.

الجزء الوصف

الحاوية

تتحرّك بين شكل دائري (غير محدّد) ومستطيل مستدير (محدّد).

التصنيف

عادةً ما يكون مكوّن Text.

الرموز (اختيارية)

الخانات في المقدّمة أو المؤخّرة التي يمكن أن تختلف استنادًا إلى الحالة

الأحجام

على غرار الأزرار العادية، تتيح أزرار الإيقاف/التفعيل نوعَين من الأحجام:

الحجم الحد الأدنى للارتفاع سياسة الاستخدام التلقائية

متوسط

‫48dp

الحجم التفاعلي التلقائي

كبير

‫72dp

أزرار الإيقاف/التفعيل الأساسية أو ذات الأهمية الكبيرة

الإعدادات التلقائية لأزرار الإيقاف/التفعيل

تستخدم أزرار الإيقاف/التفعيل تلقائيًا ToggleButtonDefaults.animateShape. يؤدي ذلك إلى إنشاء انتقال سلس بين الحالتَين التاليتَين:

يدير الصف ToggleButtonColors دقة الألوان للحالتَين التاليتَين:

صورة متحركة

تستخدم أزرار الإيقاف/التفعيل الإعدادات التلقائية التالية للصور المتحركة:

  • animateShape: يوفّر Shape يقدّر أحجام الزوايا باستخدام مواصفات تحريك ارتدادي (stiffness = 600f).
  • colors: دالة مصنع لتخصيص ألوان الخلفية والمحتوى لكلتا الحالتَين
  • CheckedShape: RoundedCornerShape(20.dp) ثابت يُستخدَم للحالة المحدّدة
  • contentPadding: يتم اكتسابه من ButtonDefaults.contentPadding.

مثال: زر إيقاف/تفعيل

تنشئ التعليمة البرمجية التالية زر إيقاف/تفعيل أساسيًا:

@Composable
fun ToggleButtonSample() {
    var checked by remember { mutableStateOf(false) }
    val text = if (checked) "Toggle on" else "Toggle off"
    ToggleButton(checked = checked, onCheckedChange = { checked = it }) { Text(text) }
}

مثال: زر إيقاف/تفعيل مع رمز في المقدّمة

تنشئ التعليمة البرمجية التالية زر إيقاف/تفعيل مع رمز في المقدّمة:

@Composable
fun ToggleButtonWithLeadingIconSample() {
    var checked by remember { mutableStateOf(false) }
    val text = if (checked) "Toggle on" else "Toggle off"
    ToggleButton(
        checked = checked,
        leadingIcon = {
            Icon(if (checked) FavoriteIcon else OutlinedFavoriteIcon, "Localized description")
        },
        onCheckedChange = { checked = it },
    ) {
        Text(text)
    }
}