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

অ্যান্ড্রয়েডে নিউট্রাল অপশনসহ ডায়ালগ কীভাবে তৈরি করবেন?

নিউট্রাল বাটনসহ AlertDialog

AlertDialog.Builder-এ setPositiveButton, setNegativeButton, এবং setNeutralButton ব্যবহার করে তিনটি বাটন যোগ করা যায়।

উদাহরণ

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

ধাপ ২: লেআউট XML (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/parent"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:gravity="center"
    android:orientation="vertical">
    <Button
        android:id="@+id/customDialog"
        android:text="Show Dialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

ধাপ ৩: জাভা কোড (src/MainActivity.java)

package com.example.andy.myapplication;

import android.content.DialogInterface;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.customDialog).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                
                builder.setTitle("Alert Dialog");
                builder.setMessage("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s");
                
                // পজিটিভ বাটন (হ্যাঁ/ওকে)
                builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "You have clicked Yes", Toast.LENGTH_LONG).show();
                    }
                });
                
                // নেগেটিভ বাটন (না/ক্যാൻসেল)
                builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "You have clicked No", Toast.LENGTH_LONG).show();
                    }
                });
                
                // নিউট্রাল বাটন (উদাসীন/শायद)
                builder.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this, "You have clicked Neutral", Toast.LENGTH_LONG).show();
                    }
                });
                
                AlertDialog alertDialog = builder.create();
                alertDialog.show();
            }
        });
    }
}

বাটন পজিশন (ম্যাটেরিয়াল ডিজাইন)

বাটনপজিশন (LTR)ব্যবহার
Positiveডানে (Right)প্রধান অ্যাকশন (Save, OK, Confirm)
Negativeবামে (Left)দ্বিতীয় অ্যাকশন (Cancel, No)
Neutralমাঝপথ/বামেবিকল্প অ্যাকশন (Later, Maybe, Skip)

কাস্টম স্টাইলিং (styles.xml)

<style name="CustomAlertDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="buttonBarPositiveButtonStyle">@style/PositiveButton</item>
    <item name="buttonBarNegativeButtonStyle">@style/NegativeButton</item>
    <item name="buttonBarNeutralButtonStyle">@style/NeutralButton</item>
</style>

<style name="PositiveButton" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog">
    <item name="android:textColor">#4CAF50</item>
</style>
<style name="NegativeButton" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog">
    <item name="android:textColor">#F44336</item>
</style>
<style name="NeutralButton" parent="Widget.AppCompat.Button.ButtonBar.AlertDialog">
    <item name="android:textColor">#2196F3</item>
</style>

আধুনিক বিকল্প: MaterialAlertDialogBuilder

// Material Components লাইব্রেরি দরকার
new MaterialAlertDialogBuilder(this)
    .setTitle("Title")
    .setMessage("Message")
    .setPositiveButton("Yes", (dialog, which) -> { /* ... */ })
    .setNegativeButton("No", (dialog, which) -> { /* ... */ })
    .setNeutralButton("Cancel", (dialog, which) -> { /* ... */ })
    .show();
  1. BroadcastReceiver দিয়ে Android-এ শিডিউল্ড নোটিফিকেশন

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

  3. অ্যান্ড্রয়েডে রাউন্ডেড কর্নার সহ ListView তৈরি করার পদ্ধতি

  4. অ্যান্ড্রয়েডে গোলাকার কোণাযুক্ত EditText তৈরি করার পদ্ধতি