किसी कंपोज़ेबल पर स्थिति या संख्यात्मक वैल्यू दिखाने के लिए, बैज का इस्तेमाल करें. यहां कुछ सामान्य स्थितियां दी गई हैं, जिनमें बैज का इस्तेमाल किया जा सकता है:
- सूचनाएं: किसी ऐप्लिकेशन आइकॉन या सूचना की घंटी पर, नहीं पढ़ी गई सूचनाओं की संख्या दिखाएं.
- मैसेज: इससे चैट ऐप्लिकेशन में नए या नहीं पढ़े गए मैसेज का पता चलता है.
- स्टेटस अपडेट: किसी टास्क का स्टेटस दिखाते हैं. जैसे, "पूरा हो गया," "जारी है" या "पूरा नहीं हुआ."
- कार्ट में मौजूद आइटम की संख्या: इससे किसी व्यक्ति के शॉपिंग कार्ट में मौजूद आइटम की संख्या दिखती है.
- नया कॉन्टेंट: उपयोगकर्ता के लिए उपलब्ध नए कॉन्टेंट या सुविधाओं को हाइलाइट करें.
एपीआई सरफेस
अपने ऐप्लिकेशन में बैज लागू करने के लिए, BadgedBox
कंपोज़ेबल का इस्तेमाल करें. यह एक कंटेनर है. इन दो मुख्य पैरामीटर की मदद से, इसकी दिखावट को कंट्रोल किया जाता है:
content
: कंपोज़ किया जा सकने वाला कॉन्टेंट, जोBadgedBox
में शामिल होता है. आम तौर परIcon
.badge
: यह कंपोज़ेबल, कॉन्टेंट के ऊपर बैज के तौर पर दिखता है. आम तौर पर, यहBadge
कंपोज़ेबल होता है.
बुनियादी उदाहरण
इस कोड स्निपेट में, BadgedBox
को लागू करने का बुनियादी तरीका दिखाया गया है:
@Composable fun BadgeExample() { BadgedBox( badge = { Badge() } ) { Icon( imageVector = Icons.Filled.Mail, contentDescription = "Email" ) } }
इस उदाहरण में, एक ऐसा बैज दिखाया गया है जो दिए गए Icon
कंपोज़ेबल पर ओवरलैप होता है. कोड में इन बातों का ध्यान रखें:
BadgedBox
को मुख्य कंटेनर के तौर पर इस्तेमाल किया जाता है.BadgedBox
केbadge
पैरामीटर के लिए आर्ग्युमेंटBadge
है.Badge
में कोई भी आर्ग्युमेंट नहीं है. इसलिए, ऐप्लिकेशन डिफ़ॉल्ट बैज दिखाता है. यह एक छोटा लाल रंग का सर्कल होता है.Icon
,BadgedBox
केcontent
पैरामीटर के लिए तर्क के तौर पर काम करता है. यह वह आइकॉन है जिस पर बैज दिखता है. इस मामले में, यह मेल आइकॉन है.
यह इस तरह दिखता है:

ज़्यादा जानकारी वाला उदाहरण
यहां दिए गए स्निपेट में बताया गया है कि बैज में ऐसी वैल्यू कैसे दिखाई जा सकती हैं जो उपयोगकर्ता की कार्रवाइयों के हिसाब से बदलती हैं.
@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
के आर्ग्युमेंट से, बैज के दिखने का तरीका कंट्रोल किया जाता है.Badge
के कॉन्टेंट स्लॉट के लिएText
कंपोज़ेबल, बैज में दिखता है. इस मामले में, यह कार्ट में मौजूद आइटम की संख्या दिखाता है.
लागू होने पर यह ऐसा दिखता है:
