स्नैकबार कॉम्पोनेंट, स्क्रीन पर सबसे नीचे एक छोटी सूचना के तौर पर दिखता है. यह उपयोगकर्ता अनुभव में रुकावट डाले बिना, किसी कार्रवाई या ऑपरेशन के बारे में सुझाव/राय देता है या शिकायत करता है. स्नैकबार कुछ सेकंड बाद गायब हो जाते हैं. उपयोगकर्ता, किसी बटन पर टैप करके भी उन्हें खारिज कर सकता है.
यहां इस्तेमाल के तीन उदाहरण दिए गए हैं, जहां स्नैकबार का इस्तेमाल किया जा सकता है:
- कार्रवाई की पुष्टि: जब कोई उपयोगकर्ता कोई ईमेल या मैसेज मिटाता है, तो कार्रवाई की पुष्टि करने के लिए स्नैकबार दिखता है. साथ ही, "पहले जैसा करें" विकल्प भी दिखता है.
- नेटवर्क की स्थिति: जब ऐप्लिकेशन का इंटरनेट कनेक्शन बंद हो जाता है, तो एक स्नैकबार दिखता है. इससे पता चलता है कि ऐप्लिकेशन अब ऑफ़लाइन है.
- डेटा सबमिशन: फ़ॉर्म सबमिट करने या सेटिंग अपडेट करने पर, स्नैकबार में यह जानकारी दिखती है कि बदलाव सेव हो गया है.
बुनियादी उदाहरण
स्नैकबार लागू करने के लिए, सबसे पहले SnackbarHost
बनाएं. इसमें SnackbarHostState
प्रॉपर्टी शामिल होती है. SnackbarHostState
, showSnackbar()
फ़ंक्शन का ऐक्सेस देता है. इसका इस्तेमाल करके, स्नैकबार दिखाया जा सकता है.
निलंबित करने वाले इस फ़ंक्शन के लिए, CoroutineScope
की ज़रूरत होती है. जैसे, rememberCoroutineScope
का इस्तेमाल करना — और इसे यूज़र इंटरफ़ेस (यूआई) इवेंट के जवाब में, Scaffold
में Snackbar
दिखाने के लिए कॉल किया जा सकता है.
val scope = rememberCoroutineScope() val snackbarHostState = remember { SnackbarHostState() } Scaffold( snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, floatingActionButton = { ExtendedFloatingActionButton( text = { Text("Show snackbar") }, icon = { Icon(Icons.Filled.Image, contentDescription = "") }, onClick = { scope.launch { snackbarHostState.showSnackbar("Snackbar") } } ) } ) { contentPadding -> // Screen content }
ऐक्शन वाला स्नैकबार
आपके पास कोई वैकल्पिक कार्रवाई देने और Snackbar
की अवधि में बदलाव करने का विकल्प होता है.
snackbarHostState.showSnackbar()
फ़ंक्शन, actionLabel
और duration
पैरामीटर के साथ काम करता है. साथ ही, यह SnackbarResult
दिखाता है.
val scope = rememberCoroutineScope() val snackbarHostState = remember { SnackbarHostState() } Scaffold( snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, floatingActionButton = { ExtendedFloatingActionButton( text = { Text("Show snackbar") }, icon = { Icon(Icons.Filled.Image, contentDescription = "") }, onClick = { scope.launch { val result = snackbarHostState .showSnackbar( message = "Snackbar", actionLabel = "Action", // Defaults to SnackbarDuration.Short duration = SnackbarDuration.Indefinite ) when (result) { SnackbarResult.ActionPerformed -> { /* Handle snackbar action performed */ } SnackbarResult.Dismissed -> { /* Handle snackbar dismissed */ } } } } ) } ) { contentPadding -> // Screen content }
snackbarHost
पैरामीटर के साथ कस्टम Snackbar
दिया जा सकता है. ज़्यादा जानकारी के लिए,
SnackbarHost
एपीआई के रेफ़रंस दस्तावेज़ देखें.