ব্যবহারকারীকে একটি সংক্ষিপ্ত বার্তা প্রদর্শন করতে আপনি একটি Snackbar
ব্যবহার করতে পারেন। বিজ্ঞপ্তিগুলির বিপরীতে, বার্তাটি স্বয়ংক্রিয়ভাবে স্বয়ংক্রিয়ভাবে চলে যায় অল্প সময়ের পরে৷ একটি Snackbar
সংক্ষিপ্ত বার্তাগুলির জন্য আদর্শ যা ব্যবহারকারীকে কাজ করতে হবে না। উদাহরণস্বরূপ, একটি ইমেল অ্যাপ একটি Snackbar
ব্যবহার করে ব্যবহারকারীকে বলতে পারে যে অ্যাপটি সফলভাবে একটি ইমেল পাঠিয়েছে।
একটি সমন্বয়কারী লেআউট ব্যবহার করুন
একটি Snackbar
একটি দৃশ্যের সাথে সংযুক্ত। Snackbar
মৌলিক কার্যকারিতা প্রদান করে যদি এটি View
ক্লাস থেকে প্রাপ্ত যেকোন বস্তুর সাথে সংযুক্ত থাকে, যেমন যেকোন সাধারণ লেআউট অবজেক্টের সাথে। যাইহোক, যদি Snackbar
একটি CoordinatorLayout
এর সাথে সংযুক্ত থাকে, Snackbar
অতিরিক্ত বৈশিষ্ট্য লাভ করে:
- ব্যবহারকারী
Snackbar
সোয়াইপ করে খারিজ করতে পারেন। -
Snackbar
উপস্থিত হলে লেআউটটি অন্যান্য UI উপাদানগুলিকে সরিয়ে দেয়। উদাহরণস্বরূপ, যদি লেআউটটিতে একটিFloatingActionButton
থাকে, তবে লেআউটটি বোতামটিকে উপরে নিয়ে যায় যখন এটি একটিSnackbar
দেখায়, বোতামের উপরেSnackbar
আঁকার পরিবর্তে। আপনি চিত্র 1 এ এটি দেখতে কেমন দেখতে পারেন।
CoordinatorLayout
ক্লাস FrameLayout
এর কার্যকারিতার একটি সুপারসেট প্রদান করে। যদি আপনার অ্যাপ ইতিমধ্যেই একটি FrameLayout
ব্যবহার করে, আপনি সম্পূর্ণ Snackbar
কার্যকারিতা সক্ষম করতে একটি CoordinatorLayout
দিয়ে সেই লেআউটটি প্রতিস্থাপন করতে পারেন। যদি আপনার অ্যাপ অন্যান্য লেআউট অবজেক্ট ব্যবহার করে, তাহলে আপনার বিদ্যমান লেআউট উপাদানগুলিকে একটি CoordinatorLayout
এ মুড়ে দিন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:
<android.support.design.widget.CoordinatorLayout android:id="@+id/myCoordinatorLayout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Here are the existing layout elements, now wrapped in a CoordinatorLayout. --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!-- ...Toolbar, other layouts, other elements... --> </LinearLayout> </android.support.design.widget.CoordinatorLayout>
আপনার CoordinatorLayout
এর জন্য একটি android:id
ট্যাগ সেট করুন। আপনি যখন বার্তাটি প্রদর্শন করবেন তখন আপনার লেআউটের আইডি প্রয়োজন।
চিত্র 1. Snackbar
উপস্থিত হলে CoordinatorLayout
FloatingActionButton
উপরে নিয়ে যায়।
একটি বার্তা প্রদর্শন করুন
একটি বার্তা প্রদর্শনের জন্য দুটি ধাপ রয়েছে। প্রথমে, আপনি মেসেজ টেক্সট সহ একটি Snackbar
অবজেক্ট তৈরি করুন। তারপর, আপনি ব্যবহারকারীর কাছে বার্তা প্রদর্শন করতে সেই বস্তুটির show()
পদ্ধতিকে কল করুন।
একটি স্ন্যাকবার অবজেক্ট তৈরি করুন
স্ট্যাটিক Snackbar.make()
পদ্ধতিতে কল করে একটি Snackbar
অবজেক্ট তৈরি করুন। আপনি যখন Snackbar
তৈরি করেন, তখন এটি যে বার্তাটি প্রদর্শন করবে এবং বার্তাটি দেখানোর সময়কাল নির্দিষ্ট করুন:
কোটলিন
val mySnackbar = Snackbar.make(view, stringId, duration)
জাভা
Snackbar mySnackbar = Snackbar.make(view, stringId, duration);
- দেখুন
-
Snackbar
সংযুক্ত করার দৃশ্য। পদ্ধতিটি পাস করা ভিউ থেকে ভিউ হায়ারার্কি অনুসন্ধান করে যতক্ষণ না এটি একটিCoordinatorLayout
বা উইন্ডো সজ্জার বিষয়বস্তু দৃশ্যে পৌঁছায়। সাধারণত, আপনার বিষয়বস্তু জুড়েCoordinatorLayout
পাস করা সহজ। - স্ট্রিংআইডি
- আপনি যে বার্তাটি প্রদর্শন করতে চান তার রিসোর্স আইডি। এটি ফরম্যাট করা বা আনফরম্যাট করা টেক্সট হতে পারে।
- সময়কাল
- বার্তা দেখানোর জন্য সময়ের দৈর্ঘ্য। এটি
LENGTH_SHORT
বাLENGTH_LONG
হতে পারে৷
ব্যবহারকারীকে বার্তাটি দেখান
আপনি Snackbar
তৈরি করার পরে, ব্যবহারকারীর কাছে Snackbar
প্রদর্শন করতে এর show()
পদ্ধতিতে কল করুন:
কোটলিন
mySnackbar.show()
জাভা
mySnackbar.show();
সিস্টেমটি একই সময়ে একাধিক Snackbar
অবজেক্ট দেখায় না, তাই যদি ভিউটি বর্তমানে অন্য একটি Snackbar
প্রদর্শন করছে, তাহলে সিস্টেমটি আপনার Snackbar
সারিবদ্ধ করে এবং বর্তমান Snackbar
মেয়াদ শেষ হওয়ার পরে বা বরখাস্ত করার পরে এটি প্রদর্শন করে।
আপনি যদি ব্যবহারকারীকে একটি বার্তা দেখাতে চান এবং Snackbar
অবজেক্টের কোনো ইউটিলিটি পদ্ধতিতে কল করার প্রয়োজন না হয়, show()
কল করার পরে আপনাকে Snackbar
এর রেফারেন্স রাখতে হবে না। এই কারণে, একটি বিবৃতিতে Snackbar
তৈরি এবং দেখানোর জন্য পদ্ধতি চেইনিং ব্যবহার করা সাধারণ:
কোটলিন
Snackbar.make( findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT ).show()
জাভা
Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_sent, Snackbar.LENGTH_SHORT) .show();