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