किसी दूसरे कॉम्पोज़ेबल पर स्थिति या संख्या वाली वैल्यू दिखाने के लिए, छोटा विज़ुअल एलिमेंट दिखाने के लिए बैज का इस्तेमाल करें. यहां कुछ ऐसे आम मामले दिए गए हैं जिनमें बैज का इस्तेमाल किया जा सकता है:
- सूचनाएं: ऐप्लिकेशन आइकॉन या सूचना देने वाली घंटी पर नहीं पढ़ी गई सूचनाओं की संख्या दिखाएं.
- मैसेज: चैट ऐप्लिकेशन में नए या नहीं पढ़े गए मैसेज दिखाने के लिए.
- स्थिति के बारे में अपडेट: किसी टास्क की स्थिति, जैसे कि "पूरा हो गया", "जारी है" या "प्रोसेस नहीं हो सका" दिखाएं.
- कार्ट की संख्या: उपयोगकर्ता के शॉपिंग कार्ट में मौजूद आइटम की संख्या दिखाता है.
- नया कॉन्टेंट: उपयोगकर्ता के लिए उपलब्ध नए कॉन्टेंट या सुविधाओं को हाइलाइट करें.
एपीआई का प्लैटफ़ॉर्म
अपने ऐप्लिकेशन में बैज लागू करने के लिए, 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
कॉम्पोज़ेबल, बैज में दिखता है. इस मामले में, यह कार्ट में मौजूद आइटम की संख्या दिखाता है.
लागू होने पर यह ऐसा दिखता है: