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

অ্যান্ড্রয়েডে বর্তমান স্ট্যাটাসবার এলিভেশন (Elevation) কীভাবে পেতে হয়?

ActionBar/Toolbar-এ getElevation() ব্যবহার করে শ্যাডো ডেপথ (Elevation) পাওয়া

এই উদাহরণটি দেখাবে কিভাবে একশনবারের বর্তমান এলিভেশন (Z-axis অফসেট, ডিপি-এ) প্রোগ্রামেটিকভাবে বের করা যায়। ম্যাটেরিয়াল ডিজাইনে এলিভেশন শ্যাডো এবং ভিজুয়ার হায়ারার্কি নির্ধারণ করে।

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

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.app.ActivityManager;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
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;

    @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);

        // একশনবার এলিভেশন পাওয়া (dp-এ)
        float elevation = getSupportActionBar().getElevation();
        textView.setText("ActionBar Elevation: " + elevation + " dp");
    }
}

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

ডিভাইস সংযুক্ত করে Run করুন। ডিফল্ট এলিভেশন সাধারণত 4.0 dp (API 21+ এ ম্যাটেরিয়াল থিমে) দেখাবে।

অ্যান্ড্রয়েডে বর্তমান স্ট্যাটাসবার এলিভেশন (Elevation) কীভাবে পেতে হয়?

এলিভেশন কাস্টমাইজ করা

XML থিমে বা কোডে এলিভেশন পরিবর্তন করা যায়:

<!-- styles.xml - এ -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="Widget.AppCompat.ActionBar.Solid">
    <item name="android:elevation">0dp</item> <!-- ফ্ল্যাট লুক -->
    <item name="elevation">0dp</item>
</style>
// Java/Kotlin-এ (Toolbar-এ)
Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setElevation(8f); // 8 dp শ্যাডো

// ActionBar-এ (API 21+)
getSupportActionBar().setElevation(8f);

নোট

  • API 21 (Lollipop) এর আগে এলিভেশন/শ্যাডো নেটিভভাবে সাপোর্টেড ছিল না।
  • getElevation() শুধু একশনবার/টুলবারের জন্যই নয়, যেকোনো View-এ (CardView, Button, FAB) ব্যবহার করা যায়।
  • এলিভেশন ০ সেট করলে ফ্ল্যাট ডিজাইন (Material 2/3-এ সাধারণ) পাওয়া যায়।
  1. অ্যান্ড্রয়েডে বর্তমান থ্রেড ইন্টারাপ্টেড (Interrupted) কিনা যাচাই করার পদ্ধতি

  2. অ্যান্ড্রয়েডে বর্তমান থ্রেড ডেমন (Daemon) কিনা যাচাই করার পদ্ধতি

  3. অ্যান্ড্রয়েডে বর্তমান থ্রেডের আইডি (ID) পাওয়ার পদ্ধতি

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