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

অ্যান্ড্রয়েডে একশনবার প্রদর্শিত হচ্ছে কিনা যাচাই করার পদ্ধতি

অ্যান্ড্রয়েডে একশনবার ভিজিবিলিটি যাচাই করা

এই টিউটোরিয়ালে শিখব কিভাবে প্রোগ্রাম্যাটিক্যালি জানা যায় যে একশনবার (ActionBar) বর্তমানে প্রদর্শিত হচ্ছে কিনা। এটি UI কাস্টমাইজেশনের সময় উপযোগী।

প্রয়োজনীয় ধাপসমূহ

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

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 ফাইলে:

package com.example.myapplication;

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.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @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);
        
        // একশনবার কাস্টমাইজেশন
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setTitle("হোম");
            getSupportActionBar().setSubtitle("সাইরাম");
            
            // একশনবার দেখাচ্ছে কিনা যাচাই
            boolean isShowing = getSupportActionBar().isShowing();
            textView.setText("একশনবার প্রদর্শিত: " + isShowing);
        } else {
            textView.setText("একশনবার অনুপস্থিত (থিমে NoActionBar ব্যবহার করা হয়েছে)");
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        if (menuItem.getItemId() == android.R.id.home) {
            finish();
            return true;
        }
        return super.onOptionsItemSelected(menuItem);
    }
}

গুরুত্বপূর্ণ পয়েন্টসমূহ

  • isShowing(): একশনবার বর্তমানে ভিজিবল কিনা তা বুলিয়ান আকারে রিটার্ন করে
  • getSupportActionBar(): AppCompatActivity-এ একশনবার অ্যাক্সেসের জন্য
  • Null চেক: থিমে `Theme.AppCompat.NoActionBar` ব্যবহার করলে null রিটার্ন করতে পারে
  • হোম বাটন: `setDisplayHomeAsUpEnabled(true)` ব্যাক নেভিগেশন সক্ষম করে

থিম কনফিগারেশন

styles.xml-এ নিশ্চিত করুন যে থিমে একশনবার সক্ষম আছে:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- একশনবার সক্রিয় থাকবে -->
</style>

অ্যাপ্লিকেশন চালানো

রান করলে স্ক্রিনে "একশনবার প্রদর্শিত: true" বা "false" দেখাবে। হোম বাটনে ক্লিক করলে অ্যাপ বন্ধ হবে।

সাধারণ সমস্যা ও সমাধান

সমস্যাসমাধান
getSupportActionBar() null রিটার্ন করছেথিমে NoActionBar নেই কিনা যাচাই করুন
isShowing() false দেখাচ্ছেonCreate-এ একশনবার হাইড করা আছে কিনা চেক করুন
  1. অ্যান্ড্রয়েডে অ্যাকশন বার টাইটেল সেন্টার অ্যালাইন করার পদ্ধতি

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

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

  4. অ্যান্ড্রয়েডে স্ট্যাটাস বার কীভাবে লুকাবেন?