استخدِم شارة لعرض عنصر مرئي صغير يشير إلى الحالة أو قيمة رقمية في دالة مركّبة أخرى. فيما يلي بعض السيناريوهات الشائعة التي قد تستخدم فيها شارة:
- الإشعارات: يعرض هذا الخيار عدد الإشعارات غير المقروءة على رمز التطبيق أو جرس الإشعارات.
- الرسائل: تشير إلى الرسائل الجديدة أو غير المقروءة في تطبيق محادثة.
- آخر المعلومات عن الحالة: تعرض حالة المهمة، مثل "مكتملة" أو "قيد التقدّم" أو "تعذّر إكمالها".
- كمية السلع في سلة التسوّق: لعرض عدد السلع في سلة تسوّق المستخدم
- محتوى جديد: يمكنك إبراز المحتوى أو الميزات الجديدة المتاحة للمستخدم.
مساحة عرض واجهة برمجة التطبيقات
استخدِم الدالة المركّبة BadgedBox لتنفيذ الشارات في تطبيقك. إنّها في النهاية حاوية. يمكنك التحكّم في مظهرها من خلال هذين المعاملَين الأساسيَين:
-
content: المحتوى المركّب الذي يتضمّنهBadgedBox. السعر العادي هو Icon. -
badge: الدالة المركّبة التي تظهر كشارة فوق المحتوى. عادةً ما تكون الدالة المركّبة المخصّصةBadge.
مثال أساسي
يعرض مقتطف الرمز هذا تنفيذًا أساسيًا لـ BadgedBox:
@Composable fun BadgeExample() { BadgedBox( badge = { Badge() } ) { Icon( painter = rememberVectorPainter(AppIcons.Mail), contentDescription = "Email" ) } }
يعرض هذا المثال شارة تتداخل مع الدالة المركّبة Icon المقدَّمة. لاحظ ما يلي في الكود:
- يُستخدَم
BadgedBoxكحاوية عامة. - الوسيطة الخاصة بالمَعلمة
badgeفيBadgedBoxهيBadge. بما أنّBadgeلا يتضمّن أي وسيطات خاصة به، يعرض التطبيق الشارة التلقائية، وهي دائرة حمراء صغيرة. - يُستخدَم
Iconكوسيطة للمعلَمةcontentفيBadgedBox. وهو الرمز الذي تظهر فوقه الشارة. في هذه الحالة، هو رمز بريد.
ويظهر على النحو التالي:
مثال تفصيلي
يوضّح المقتطف التالي كيفية عرض القيم في الشارة التي تستجيب لإجراءات المستخدم.
@Composable fun BadgeInteractiveExample() { var itemCount by remember { mutableIntStateOf(0) } Column( verticalArrangement = Arrangement.spacedBy(16.dp) ) { BadgedBox( badge = { if (itemCount > 0) { Badge( containerColor = Color.Red, contentColor = Color.White ) { Text("$itemCount") } } } ) { Icon( painter = rememberVectorPainter(AppIcons.ShoppingCart), contentDescription = "Shopping cart", ) } Button(onClick = { itemCount++ }) { Text("Add item") } } }
ينفّذ هذا المثال رمز سلّة تسوّق مع شارة تعرض عدد السلع في سلّة المستخدم.
- لا يظهر
BadgedBoxإلا عندما يكون عدد السلع أكبر من 0. - تتحكّم الوسيطتان
containerColorوcontentColorفي مظهر الشارة. - تظهر الدالة المركّبة
Textلخانة المحتوى فيBadgeداخل الشارة. في هذه الحالة، يعرض عدد السلع في سلة التسوّق.
يظهر هذا التنفيذ على النحو التالي: