ব্যবহারকারীকে আপনার বার্তায় সাড়া দেওয়ার জন্য আপনি Snackbar
একটি অ্যাকশন যোগ করতে পারেন। আপনি যখন এটি করেন, Snackbar
বার্তা পাঠ্যের পাশে একটি বোতাম রাখে এবং ব্যবহারকারী বোতামটি আলতো চাপার মাধ্যমে আপনার ক্রিয়াটি ট্রিগার করতে পারে। উদাহরণস্বরূপ, একটি ইমেল অ্যাপ তার "ইমেল সংরক্ষণাগারভুক্ত" বার্তায় একটি পূর্বাবস্থায় ফেরার বোতাম রাখতে পারে। ব্যবহারকারী যদি পূর্বাবস্থায় ফেরার বোতামে ট্যাপ করে, অ্যাপটি ইমেলটিকে সংরক্ষণাগার থেকে ফিরিয়ে নিয়ে যায়।
একটি Snackbar
বার্তায় একটি ক্রিয়া যুক্ত করতে, একটি শ্রোতা অবজেক্ট সংজ্ঞায়িত করুন যা View.OnClickListener
ইন্টারফেস প্রয়োগ করে। ব্যবহারকারী বার্তা অ্যাকশনে ট্যাপ করলে সিস্টেমটি আপনার শ্রোতার onClick()
পদ্ধতিতে কল করে। উদাহরণস্বরূপ, এই স্নিপেটটি একজন শ্রোতাকে একটি পূর্বাবস্থায় ফেরানোর জন্য দেখায়:
কোটলিন
class MyUndoListener : View.OnClickListener { fun onClick(v: View) { // Code to undo the user's last action. } }
জাভা
public class MyUndoListener implements View.OnClickListener { @Override public void onClick(View v) { // Code to undo the user's last action. } }
আপনার Snackbar
শ্রোতাকে সংযুক্ত করতে setAction()
পদ্ধতিগুলির একটি ব্যবহার করুন। এই কোড নমুনায় দেখানো হিসাবে show()
কল করার আগে শ্রোতাকে সংযুক্ত করুন:
কোটলিন
val mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_archived, Snackbar.LENGTH_SHORT) mySnackbar.setAction(R.string.undo_string, MyUndoListener()) mySnackbar.show()
জাভা
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
দেখাতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে: কোটলিন
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") } } ) } } }