সবচেয়ে প্রাথমিক ফর্মে, অ্যাকশন বার একদিকে অ্যাক্টিভিটির শীর্ষক এবং অন্যদিকে ওভারফ্লো মেনু দেখায়। এমনকি এই বেসিক ফর্মেও, অ্যাপ বার ব্যবহারকারীদের প্রয়োজনীয় তথ্য প্রদান করে এবং Android অ্যাপকে একটি সামঞ্জস্যপূর্ণ লুক ও ফিল দেয়।
ডিফল্ট থিম ব্যবহার করে এমন সব অ্যাক্টিভিটিতে অ্যাপ বার হিসেবে
ActionBar
থাকে। বিভিন্ন Android রিলিজ জুড়ে নেটিভ ActionBar-এ অ্যাপ বার ফিচার যোগ করা হয়েছে। এর ফলে, কোনও ডিভাইস Android-এর কোন ভার্সন ব্যবহার করছে তার উপর নির্ভর করে
নেটিভ ActionBar আলাদাভাবে কাজ করে।
অন্যদিকে, AndroidX AppCompat লাইব্রেরির
Toolbar
ভার্সনে ফিচার যোগ করা হয়, যার অর্থ হল AndroidX লাইব্রেরি ব্যবহার করে এমন ডিভাইসে এইসব ফিচার উপলভ্য।
এই কারণে আপনার অ্যাক্টিভিটির অ্যাপ বার প্রয়োগ করতে AndroidX লাইব্রেরির Toolbar ক্লাস ব্যবহার করুন। AndroidX লাইব্রেরির টুলবার ব্যবহার করলে আপনার অ্যাপের
ব্যবহার বিভিন্ন ডিভাইসে একই রকম থাকে।
অ্যাক্টিভিটিতে টুলবার যোগ করা
এইসব ধাপ আপনার অ্যাক্টিভিটির অ্যাপ বার হিসেবে কীভাবেToolbar সেট-আপ করতে হয় তা বর্ণনা করে:
- AndroidX ওভারভিউ-এ যেভাবে বর্ণনা করা হয়েছে, সেই অনুযায়ী আপনার প্রোজেক্টে AndroidX লাইব্রেরি যোগ করুন।
- অ্যাক্টিভিটি যেন
AppCompatActivityপর্যন্ত চলে তা নিশ্চিত করুন:Kotlin
class MyActivity : AppCompatActivity() { // ... }
জাভা
public class MyActivity extends AppCompatActivity { // ... }
- অ্যাপ ম্যানিফেস্টে,
<application>এলিমেন্ট সেট করুন যাতে AppCompat-এরNoActionBarথিমগুলির মধ্যে একটি ব্যবহার করা যায়, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে। এইসব থিমের মধ্যে কোনও একটি ব্যবহার করলে, অ্যাপ বার প্রদান করার জন্য অ্যাপকে নেটিভActionBarক্লাস ব্যবহার করা থেকে আটকায়।<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- অ্যাক্টিভিটির লেআউটে
Toolbarযোগ করুন। যেমন, নিম্নলিখিত লেআউট কোড একটিToolbarযোগ করে এবং অ্যাক্টিভিটির উপরে ফ্লোট করার মতো করে দেখায়:<androidx.appcompat.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
অ্যাপ বারের উচ্চতা সংক্রান্ত সাজেশন পেতে মেটেরিয়াল ডিজাইন স্পেসিফিকেশন দেখুন।
অ্যাক্টিভিটির লেআউট-এর উপরে টুলবারটি রাখুন, কারণ আপনি এটি অ্যাপ বার হিসেবে ব্যবহার করছেন।
- অ্যাক্টিভিটির
onCreate()মেথডে, অ্যাক্টিভিটিরsetSupportActionBar()মেথড কল করুন এবং অ্যাক্টিভিটির টুলবার পাস করুন, যেমন নিম্নলিখিত উদাহরণে দেখানো হয়েছে। এই পদ্ধতিটি অ্যাক্টিভিটির জন্য অ্যাপ বার হিসেবে টুলবার সেট করে।Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // The Toolbar defined in the layout has the id "my_toolbar". setSupportActionBar(findViewById(R.id.my_toolbar)) }
জাভা
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); }
আপনার অ্যাপে এখন একটি বেসিক অ্যাকশন বার আছে। ডিফল্ট হিসেবে, অ্যাকশন বারে অ্যাপের নাম এবং একটি ওভারফ্লো মেনু থাকে, যার মধ্যে প্রাথমিকভাবে সেটিংস আইটেম থাকে। আপনি অ্যাকশন বার এবং ওভারফ্লো মেনুতে আরও অ্যাকশন যোগ করতে পারেন, যেমনটি অ্যাকশন যোগ ও ম্যানেজ করুন-এ বর্ণনা করা হয়েছে।
অ্যাপ বার ইউটিলিটি পদ্ধতি ব্যবহার করুন
আপনি একবার টুলবারকে অ্যাক্টিভিটির অ্যাপ বার হিসেবে সেট করলে, AndroidX লাইব্রেরির
ActionBar
ক্লাসের মাধ্যমে প্রদান করা ইউটিলিটি পদ্ধতি অ্যাক্সেস করতে পারবেন। এই পদ্ধতি আপনাকে অ্যাপ বার লুকানো ও দেখানোর মতো প্রয়োজনীয় কাজ করতে দেয়।
ActionBar ইউটিলিটি মেথড ব্যবহার করতে, অ্যাক্টিভিটির
getSupportActionBar()
মেথড কল করুন। এই পদ্ধতি AppCompat ActionBar অবজেক্টের রেফারেন্স রিটার্ন করে।
রেফারেন্স পেয়ে গেলে, অ্যাপ বার অ্যাডজাস্ট করার জন্য আপনি যেকোনও ActionBar মেথড
কল করতে পারবেন। যেমন, অ্যাপ বার লুকাতে, ActionBar.hide() কল করুন।