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

রচনা পদ্ধতি চেষ্টা করুন
জেটপ্যাক কম্পোজ হল Android এর জন্য প্রস্তাবিত UI টুলকিট। কম্পোজে উপাদান যোগ করতে শিখুন।

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

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

ডিফল্ট থিম ব্যবহার করে এমন সমস্ত ক্রিয়াকলাপগুলির একটি অ্যাপ বার হিসাবে একটি ActionBar রয়েছে৷ বিভিন্ন অ্যান্ড্রয়েড রিলিজে নেটিভ ActionBar অ্যাপ বার বৈশিষ্ট্য যুক্ত করা হয়েছে। ফলস্বরূপ, একটি ডিভাইস Android এর কোন সংস্করণ ব্যবহার করছে তার উপর নির্ভর করে নেটিভ ActionBar ভিন্নভাবে আচরণ করে।

অন্যদিকে, Toolbar এর AndroidX AppCompat লাইব্রেরির সংস্করণে বৈশিষ্ট্যগুলি যোগ করা হয়, যার অর্থ এই বৈশিষ্ট্যগুলি AndroidX লাইব্রেরিগুলি ব্যবহার করে এমন ডিভাইসগুলিতে উপলব্ধ।

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

একটি কার্যকলাপে একটি টুলবার যোগ করুন

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

    কোটলিন

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

    জাভা

    public class MyActivity extends AppCompatActivity {
      // ...
    }
    
  3. অ্যাপ ম্যানিফেস্টে, AppCompat এর NoActionBar থিমগুলির একটি ব্যবহার করতে <application> উপাদান সেট করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে। এই থিমগুলির মধ্যে একটি ব্যবহার করা অ্যাপটিকে অ্যাপ বার সরবরাহ করতে নেটিভ 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() পদ্ধতিতে কল করুন এবং কার্যকলাপের টুলবারটি পাস করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে। এই পদ্ধতিটি টুলবারটিকে কার্যকলাপের জন্য অ্যাপ বার হিসাবে সেট করে।

    কোটলিন

    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() কল করুন।