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

অ্যান্ড্রয়েডে ডায়লগের অবস্থান (Position) স্ক্রিনে পরিবর্তন করা

AlertDialog-কে স্ক্রিনের নিচে (Bottom) বা অন্য জায়গায় দেখানো

ডিফল্টভাবে AlertDialog স্ক্রিনের মাঝপথে দেখায়। এই উদাহরণে দেখানো হয়েছে কিভাবে WindowManager.LayoutParams এবং Gravity ব্যবহার করে ডায়লগের পজিশন পরিবর্তন করা যায় (এখানে নিচেBottom-এ)।

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

Android Studio-তে নতুন প্রজেক্ট শুরু করুন।

ধাপ ২: লেআউট (activity_main.xml)

এখানে কোনো UI 엘িমেন্টই লাগে না, খালি RelativeLayout পর্যাপ্ত:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" />

ধাপ ৩: MainActivity.java-এ ডায়লগ পজিশনিং

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Gravity;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("সতর্কতা ডায়লগ");
        builder.setMessage("আপনার দিনটি শুভ হোক!");
        builder.setCancelable(false);

        builder.setPositiveButton("ঠিক আছে", (dialog, which) -> {});
        builder.setNegativeButton("বাতিল", (dialog, which) -> {});

        AlertDialog alertDialog = builder.create();
        alertDialog.show();

        // ডায়লগ দেখানোর পরে পজিশন সেট করুন
        alertDialog.getWindow().setGravity(Gravity.BOTTOM);
        
        // অন্যান্য অপশন: Gravity.TOP, Gravity.CENTER, Gravity.LEFT, Gravity.RIGHT
        // বা কাস্টম x,y offset: alertDialog.getWindow().setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL);
    }
}

Gravity অপশনসমূহ

  • Gravity.TOP - উপরে
  • Gravity.BOTTOM - নিচে (Bottom Sheet স্টাইল)
  • Gravity.CENTER - মাঝপথে (ডিফল্ট)
  • Gravity.LEFT / RIGHT - বাম/ডানে
  • Gravity.TOP | Gravity.START - উপরের বাম কোণা

মনে রাখবেন

alertDialog.show() কল করার পরেই getWindow().setGravity() কল করতে হবে। show()-এর আগে কল করলে কাজ 하지 않을 수 있습니다।

ফলাফল

অ্যাপ চালু হলে ডায়লগটি স্ক্রিনের নিচে (Bottom) থেকে স্লাইড আপ হয়ে見える হবে, মাঝপথে না।

অ্যান্ড্রয়েডে ডায়লগের অবস্থান (Position) স্ক্রিনে পরিবর্তন করা
Gravity.BOTTOM সহ AlertDialog
  1. এন্ড্রয়েডে DatePicker ডায়ালগের রঙ পরিবর্তন করার পদ্ধতি

  2. অ্যান্ড্রয়েডে মেনু আইটেমের টেক্সট রঙ পরিবর্তন করার পদ্ধতি

  3. How to show alert dialog in Android?

  4. অ্যান্ড্রয়েডে প্রোগ্রামেটিক্যালি স্ক্রিন ব্রাইটনেস পরিবর্তন করার পদ্ধতি