बैज

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

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

एपीआई सरफ़ेस

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

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

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

अन्य संसाधन