استخدِم شارة لعرض عنصر مرئي صغير يشير إلى الحالة أو قيمة رقمية على دالة مركّبة أخرى. في ما يلي بعض السيناريوهات الشائعة التي قد تستخدم فيها شارة:
- الإشعارات: عرض عدد الإشعارات غير المقروءة على رمز تطبيق أو جرس الإشعارات
- الرسائل: تشير إلى الرسائل الجديدة أو غير المقروءة في تطبيق محادثة.
- آخر المعلومات عن الحالة: تعرض هذه البطاقة حالة مهمة، مثل "مكتملة" أو "قيد التقدم" أو "تعذّر إكمالها".
- كمية سلة التسوّق: لعرض عدد السلع في سلة تسوّق المستخدم
- محتوى جديد: إبراز المحتوى أو الميزات الجديدة المتاحة للمستخدم
مساحة عرض واجهة برمجة التطبيقات
استخدِم الدالة المركّبة BadgedBox لتنفيذ الشارات في تطبيقك، فهي في النهاية عبارة عن حاوية، ويمكنك التحكّم في مظهرها باستخدام المَعلمتَين الرئيسيتَين التاليتَين:
content: المحتوى القابل للإنشاء الذي يحتوي عليهBadgedBoxعادةًIconbadge: الدالة المركّبة التي تظهر كشارة فوق المحتوى. عادةً ما تكون الدالة المركّبةBadgeالمخصّصة.
مثال أساسي
يعرض مقتطف الرمز التالي عملية تنفيذ أساسية لـ BadgedBox:
@Composable fun BadgeExample() { BadgedBox( badge = { Badge() } ) { Icon( imageVector = Icons.Filled.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( imageVector = Icons.Filled.ShoppingCart, contentDescription = "Shopping cart", ) } Button(onClick = { itemCount++ }) { Text("Add item") } } }
ينفّذ هذا المثال رمز سلة تسوّق مع شارة تعرض عدد السلع في سلة المستخدم.
- لا يظهر
BadgedBoxإلا عندما يكون عدد العناصر أكبر من 0. - تتحكّم وسيطتا
containerColorوcontentColorفي مظهر الشارة. - يظهر المركّب
Textالخاص بفتحة المحتوى فيBadgeضمن الشارة، ويعرض في هذه الحالة عدد المنتجات في سلة التسوّق.
تظهر عملية التنفيذ هذه على النحو التالي: