אפשר להשתמש בתג כדי להציג רכיב חזותי קטן שמציין סטטוס או ערך מספרי ברכיב Composable אחר. הנה כמה תרחישים נפוצים שבהם אפשר להשתמש בתג:
- התראות: הצגת מספר ההתראות שלא נקראו בסמל האפליקציה או בפעמון ההתראות.
- הודעות: מציינות הודעות חדשות או הודעות שלא נקראו באפליקציית צ'אט.
- עדכוני סטטוס: הצגת הסטטוס של משימה, כמו "הושלמה", "בתהליך" או "נכשלה".
- כמות בעגלת הקניות: הצגת מספר הפריטים בעגלת הקניות של המשתמש.
- תוכן חדש: הדגשת תוכן או תכונות חדשים שזמינים למשתמש.
פלטפורמת ה-API
כדי להטמיע תגים באפליקציה, משתמשים ברכיב ה-Composable BadgedBox. בסופו של דבר, זהו מאגר. אתם יכולים לשלוט במראה שלו באמצעות שני הפרמטרים העיקריים הבאים:
-
content: התוכן הניתן לשילוב שכלול ב-BadgedBox. בדרך כללIcon. -
badge: הרכיב הניתן לשילוב שמופיע כתג מעל התוכן. בדרך כלל הרכיב הייעודי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מופיע בתוך התג. במקרה הזה, מוצג מספר הפריטים בעגלת הקניות.
ההטמעה הזו נראית כך: