অ্যাপ বার সেট-আপ করা

Compose-এর মাধ্যমে চেষ্টা করুন
Jetpack Compose হল Android-এর জন্য সাজেস্ট করা UI টুলকিট। Compose-এ কীভাবে কম্পোনেন্ট যোগ করতে হয় তা জানুন।

সবচেয়ে প্রাথমিক ফর্মে, অ্যাকশন বার একদিকে অ্যাক্টিভিটির শীর্ষক এবং অন্যদিকে ওভারফ্লো মেনু দেখায়। এমনকি এই বেসিক ফর্মেও, অ্যাপ বার ব্যবহারকারীদের প্রয়োজনীয় তথ্য প্রদান করে এবং Android অ্যাপকে একটি সামঞ্জস্যপূর্ণ লুক ও ফিল দেয়।

Now in Android অ্যাপে অ্যাপ বার দেখানো একটি ছবি
ছবি ১. "Now in Android" অ্যাপে অ্যাকশন আইকন সহ অ্যাপ বার।

ডিফল্ট থিম ব্যবহার করে এমন সব অ্যাক্টিভিটিতে অ্যাপ বার হিসেবে ActionBar থাকে। বিভিন্ন Android রিলিজ জুড়ে নেটিভ ActionBar-এ অ্যাপ বার ফিচার যোগ করা হয়েছে। এর ফলে, কোনও ডিভাইস Android-এর কোন ভার্সন ব্যবহার করছে তার উপর নির্ভর করে নেটিভ ActionBar আলাদাভাবে কাজ করে।

অন্যদিকে, AndroidX AppCompat লাইব্রেরির Toolbar ভার্সনে ফিচার যোগ করা হয়, যার অর্থ হল AndroidX লাইব্রেরি ব্যবহার করে এমন ডিভাইসে এইসব ফিচার উপলভ্য।

এই কারণে আপনার অ্যাক্টিভিটির অ্যাপ বার প্রয়োগ করতে AndroidX লাইব্রেরির Toolbar ক্লাস ব্যবহার করুন। AndroidX লাইব্রেরির টুলবার ব্যবহার করলে আপনার অ্যাপের ব্যবহার বিভিন্ন ডিভাইসে একই রকম থাকে।

অ্যাক্টিভিটিতে টুলবার যোগ করা

এইসব ধাপ আপনার অ্যাক্টিভিটির অ্যাপ বার হিসেবে কীভাবে Toolbar সেট-আপ করতে হয় তা বর্ণনা করে:
  1. AndroidX ওভারভিউ-এ যেভাবে বর্ণনা করা হয়েছে, সেই অনুযায়ী আপনার প্রোজেক্টে AndroidX লাইব্রেরি যোগ করুন।
  2. অ্যাক্টিভিটি যেন AppCompatActivity পর্যন্ত চলে তা নিশ্চিত করুন:

    Kotlin

    class MyActivity : AppCompatActivity() {
      // ...
    }

    জাভা

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. অ্যাপ ম্যানিফেস্টে, <application> এলিমেন্ট সেট করুন যাতে AppCompat-এর NoActionBar থিমগুলির মধ্যে একটি ব্যবহার করা যায়, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে। এইসব থিমের মধ্যে কোনও একটি ব্যবহার করলে, অ্যাপ বার প্রদান করার জন্য অ্যাপকে নেটিভ ActionBar ক্লাস ব্যবহার করা থেকে আটকায়।
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. অ্যাক্টিভিটির লেআউটে 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"/>

    অ্যাপ বারের উচ্চতা সংক্রান্ত সাজেশন পেতে মেটেরিয়াল ডিজাইন স্পেসিফিকেশন দেখুন।

    অ্যাক্টিভিটির লেআউট-এর উপরে টুলবারটি রাখুন, কারণ আপনি এটি অ্যাপ বার হিসেবে ব্যবহার করছেন।

  5. অ্যাক্টিভিটির 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() কল করুন।