কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে একশনবারে ব্যাক বাটন (Back Button) কীভাবে সক্রিয় করবেন?

ActionBar-এ হোম/ব্যাক বাটন (Up Navigation) সক্রিয় করার পদ্ধতি

এই উদাহরণটি দেখাবে কিভাবে একশনবারের বাম পাশে "আপ" বাটন (বায়ের দিকে তীর চিহ্ন) দেখানো যায় এবং সেটি ক্লিক করলে পূর্বের এক্টিভিটিতে ফেরত যাওয়ার লজিক বাস্তবায়ন করা হয়। এটি ইয়ারার্কিক্যাল নেভিগেশনের জন্য স্ট্যান্ডার্ড প্যাটার্ন।

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project দিয়ে প্রজেক্ট তৈরি করুন।

ধাপ ২: লেয়াউট ফাইল (res/layout/activity_main.xml)

<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "https://schemas.android.com/apk/res/android"
    xmlns:app = "https://schemas.android.com/apk/res-auto"
    xmlns:tools = "https://schemas.android.com/tools"
    android:layout_width = "match_parent"
    android:gravity = "center"
    android:layout_height = "match_parent"
    tools:context = ".MainActivity">
    <TextView
        android:id = "@+id/text"
        android:textSize = "30sp"
        android:layout_width = "match_parent"
        android:layout_height = "match_parent" />
</LinearLayout>

ধাপ ৩: জাভা কোড (src/MainActivity.java)

setDisplayHomeAsUpEnabled(true) কল করে আপ বাটন সক্রিয় করা হয়েছে। onOptionsItemSelected ওভাররাইড করে হোম আইটেম ক্লিক হ্যান্ডল করা হয়েছে।

package com.example.myapplication;

import android.annotation.SuppressLint;
import android.app.ActivityManager;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @SuppressLint("RestrictedApi")
    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true); // ব্যাক/আপ বাটন見せ
        getSupportActionBar().setTitle("Home");
        getSupportActionBar().setSubtitle("sairam");
    }

    // হোম/আপ বাটন ক্লিক হ্যান্ডলিং (ঐচ্ছিক, ডিফল্টে প্যারেন্ট এক্টিভিটিতে যায় যদি ম্যানিফেস্টে parentActivityName থাকে)
    @Override
    public boolean onOptionsItemSelected(android.view.MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            finish(); // বর্তমান এক্টিভিটি বন্ধ করুন
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

অ্যাপ্লিকেশনটি রান করুন

ডিভাইস সংযুক্ত করে Run করুন। একশনবারের বামে ব্যাক অ্যারো দেখাবে। ক্লিক করলে এক্টিভিটি ফিনিশ হবে।

অ্যান্ড্রয়েডে একশনবারে ব্যাক বাটন (Back Button) কীভাবে সক্রিয় করবেন?

ম্যানিফেস্টে প্যারেন্ট এক্টিভিটি ঘোষণা (Best Practice)

onOptionsItemSelected ম্যানুয়াল লিখার বদলে AndroidManifest.xml-এ প্যারেন্ট এক্টিভিটি ডিক্লেয়ার করলে সিস্টেম অটোমেটিক্যালি হ্যান্ডেল করে:

<activity
    android:name=".MainActivity"
    android:parentActivityName=".ParentActivity">
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".ParentActivity" />
</activity>

তब NavUtils.navigateUpFromSameTask(this) বা ডিফল্ট বিহেভিয়ার কাজ করবে।

  1. অ্যান্ড্রয়েড এক্টিভিটিতে ব্যাক বাটন হ্যান্ডল করার পদ্ধতি

  2. অ্যান্ড্রয়েডে অ্যাকশন বার টাইটেল সেন্টার অ্যালাইন করার পদ্ধতি

  3. অ্যান্ড্রয়েডে ActionBar/Toolbar-এর উচ্চতা পাওয়ার পদ্ধতি

  4. Android-এ অ্যাকশন বারের আকার পরিবর্তন করার পদ্ধতি