बैज

किसी दूसरे कॉम्पोज़ेबल पर स्थिति या संख्या वाली वैल्यू दिखाने के लिए, छोटा विज़ुअल एलिमेंट दिखाने के लिए बैज का इस्तेमाल करें. यहां कुछ ऐसे आम मामले दिए गए हैं जिनमें बैज का इस्तेमाल किया जा सकता है:

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

एपीआई का प्लैटफ़ॉर्म

अपने ऐप्लिकेशन में बैज लागू करने के लिए, 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 कॉम्पोज़ेबल, बैज में दिखता है. इस मामले में, यह कार्ट में मौजूद आइटम की संख्या दिखाता है.

लागू होने पर यह ऐसा दिखता है:

ऐसा बैज जिस पर शॉपिंग कार्ट में मौजूद आइटम की संख्या दिखती है.
तीसरी इमेज. शॉपिंग कार्ट में मौजूद आइटम की संख्या दिखाने वाला बैज.

अन्य संसाधन