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

অ্যান্ড্রয়েডে টুলবার আইকনে ক্লিক ইভেন্ট (OnClick) কীভাবে ইমপ্লিমেন্ট করবেন?

ActionBar/Toolbar-এ হোম আইকন সেট করা এবং তার ক্লিক ইভেন্ট হ্যান্ডলিং

এই উদাহরণটি দেখাবে কিভাবে একশনবারের হোম পজিশনে একটি কাস্টম আইকন (Logo) সেট করা যায় এবং সেটিতে ক্লিক করলে নির্দিষ্ট অ্যাকশন (এখানে এক্টিভিটি ফিনিশ) করা যায়। setHomeAsUpIndicator() মেথডটি এই কাজে ব্যবহৃত হয়।

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

Android Studio-তে File → New Project দিয়ে প্রজেক্ট তৈরি করুন। res/drawable/ ফোল্ডারে logo.png বা যেকোনো ইমেজ রাখুন।

ধাপ ২: লেয়াউট ফাইল (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)

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.MenuItem;
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().setTitle("Home");
        getSupportActionBar().setSubtitle("sairam");
        getSupportActionBar().setDisplayHomeAsUpEnabled(true); // আপ বাটন সক্রিয়
        getSupportActionBar().setHomeAsUpIndicator(R.drawable.logo); // কাস্টম আইকন সেট
        textView.setText("Icon enabled");
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        if (menuItem.getItemId() == android.R.id.home) {
            finish(); // কাস্টম একশন: এক্টিভিটি বন্ধ
            return true;
        }
        return super.onOptionsItemSelected(menuItem);
    }
}

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

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

অ্যান্ড্রয়েডে টুলবার আইকনে ক্লিক ইভেন্ট (OnClick) কীভাবে ইমপ্লিমেন্ট করবেন?

মডার্ন Toolbar প্যাটার্ন (Recommended)

ActionBar ডিপ্রিকেট হয়েছে না কিন্তু Toolbar ব্যবহার করা বেটার:

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar" ... >
    <ImageView
        android:id="@+id/custom_icon"
        android:layout_width="?attr/actionBarSize"
        android:layout_height="?attr/actionBarSize"
        android:src="@drawable/logo"
        android:contentDescription="@string/app_name" />
</androidx.appcompat.widget.Toolbar>

// Activity-এ
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false); // ডিফল্ট টাইটেল লুকান

ImageView customIcon = findViewById(R.id.custom_icon);
customIcon.setOnClickListener(v -> {
    // আপনার কাস্টম লজিক
    onBackPressed();
});

এটি আরও ফ্লেক্সিবল (এনিমেশন, রিপল ইফেক্ট, মাল্টিপল আইকন)।

  1. এন্ড্রয়েডে প্রোগ্রামেটিক্যালি ক্যামেরা ক্লিক করার পদ্ধতি

  2. অ্যান্ড্রয়েড টুলবারে SearchView ব্যবহার করার পদ্ধতি

  3. অ্যান্ড্রয়েডে বটম শীট (Bottom Sheet) উইজেট ইমপ্লিমেন্ট করা

  4. অ্যান্ড্রয়েড অ্যাপে শেক ইভেন্ট কীভাবে সনাক্ত করবেন?