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) থেকে স্লাইড আপ হয়ে見える হবে, মাঝপথে না।