उपयोगकर्ता को आपके मैसेज का जवाब देने की सुविधा देने के लिए, किसी Snackbar
में कार्रवाई जोड़ी जा सकती है. ऐसा करने पर, Snackbar
मैसेज के टेक्स्ट के बगल में एक बटन डालता है. उपयोगकर्ता, बटन पर टैप करके आपकी कार्रवाई को ट्रिगर कर सकता है. उदाहरण के लिए, कोई ईमेल ऐप्लिकेशन, "ईमेल संग्रहित किया गया" मैसेज पर पहले जैसा करें बटन डाल सकता है. अगर उपयोगकर्ता वापस करें बटन पर टैप करता है, तो ऐप्लिकेशन उस ईमेल को संग्रह से वापस ले लेता है.
![एक इमेज, जिसमें 'पहले जैसा करें' ऐक्शन बटन वाला स्नैकबार दिखाया गया है](https://developer.android.google.cn/static/images/ui/notifications/action_snackbar_undo.png?authuser=1&hl=hi)
Snackbar
, जिसमें 'पहले जैसा करें' ऐक्शन बटन है. इसकी मदद से,
हटाए गए आइटम को वापस लाया जा सकता है.
Snackbar
मैसेज में कोई कार्रवाई जोड़ने के लिए, ऐसा लिसनर ऑब्जेक्ट तय करें जो View.OnClickListener
इंटरफ़ेस को लागू करता हो. अगर उपयोगकर्ता मैसेज ऐक्शन पर टैप करता है, तो सिस्टम आपके दर्शक के onClick()
तरीके को कॉल करता है. उदाहरण के लिए, यह स्निपेट, पहले जैसा करने की कार्रवाई के लिए एक Listener दिखाता है:
Kotlin
class MyUndoListener : View.OnClickListener { fun onClick(v: View) { // Code to undo the user's last action. } }
Java
public class MyUndoListener implements View.OnClickListener { @Override public void onClick(View v) { // Code to undo the user's last action. } }
Snackbar
से दर्शकों को जोड़ने के लिए, setAction()
के इनमें से किसी एक तरीके का इस्तेमाल करें. show()
को कॉल करने से पहले, लिसनर को अटैच करें, जैसा कि इस कोड सैंपल में दिखाया गया है:
Kotlin
val mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_archived, Snackbar.LENGTH_SHORT) mySnackbar.setAction(R.string.undo_string, MyUndoListener()) mySnackbar.show()
Java
Snackbar mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_archived, Snackbar.LENGTH_SHORT); mySnackbar.setAction(R.string.undo_string, new MyUndoListener()); mySnackbar.show();
SnackbarHost
दिखाया जा सकता है. इसका उदाहरण यहां दिया गया है:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { DACPlaygroundTheme { val snackbarHostState = remember { SnackbarHostState() } val scope = rememberCoroutineScope() Scaffold( snackbarHost = { SnackbarHost(snackbarHostState) }, content = { padding -> Button( modifier = Modifier.padding(padding), onClick = { scope.launch { snackbarHostState.showSnackbar( message = "1 item removed", actionLabel = "UNDO", duration = SnackbarDuration.Short ).run { when (this) { Dismissed -> Log.d("SNACKBAR", "Dismissed") ActionPerformed -> Log.d("SNACKBAR", "UNDO CLICKED") } } } } ) { Text("Show snackbar") } } ) } } }