Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Android ऐप में कस्टम अलर्ट डायलॉग कैसे बनाएं?

Android में कस्टम लेआउट वाला AlertDialog बनाना

यह उदाहरण दर्शाता है कि पूरी तरह से कस्टमाइज्ड लेआउट (इमेज, टेक्स्ट, बटन) के साथ AlertDialog की जगह Dialog का उपयोग करके कस्टम डायलॉग कैसे बनाया जाए।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें।

चरण 2: मेन लेआउट (res/layout/activity_main.xml)

<?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:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/buttonShowCustomDialog"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="86dp"
        android:gravity="center"
        android:text="क्लिक करें - कस्टम अलर्ट डायलॉग देखें"
        android:textSize="18sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/buttonShowCustomDialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="131dp"
        android:onClick="showCustomDialog"
        android:text="डायलॉग दिखाएं"
        android:textStyle="bold"
        style="@android:style/Widget.DeviceDefault.Button.Inset" />

</RelativeLayout>

चरण 3: कस्टम डायलॉग लेआउट (res/layout/custom_dialog.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="24dp">

    <ImageView
        android:id="@+id/dialogIcon"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="16dp"
        android:src="@android:drawable/ic_dialog_alert"
        app:tint="@android:color/holo_red_dark" />

    <TextView
        android:id="@+id/dialogTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/dialogIcon"
        android:layout_centerHorizontal="true"
        android:text="चेतावनी!"
        android:textSize="20sp"
        android:textStyle="bold"
        android:textColor="@android:color/black" />

    <TextView
        android:id="@+id/dialogMessage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/dialogTitle"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="8dp"
        android:text="यह एक कस्टम अलर्ट डायलॉग है"
        android:textSize="16sp"
        android:textColor="@android:color/darker_gray" />

    <Button
        android:id="@+id/dialogButtonOK"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/dialogMessage"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="24dp"
        android:paddingHorizontal="32dp"
        android:text="ठीक है"
        style="@style/Widget.AppCompat.Button.Colored" />

</RelativeLayout>

चरण 4: MainActivity (src/MainActivity.java)

import android.app.Dialog;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button showDialogButton;

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

        showDialogButton = findViewById(R.id.buttonShowCustomDialog);
        
        showDialogButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showCustomDialog();
            }
        });
    }

    private void showCustomDialog() {
        // Context के साथ Dialog बनाएं
        final Dialog dialog = new Dialog(this);
        
        // कस्टम लेआउट सेट करें
        dialog.setContentView(R.layout.custom_dialog);
        
        // वैकल्पिक: डायलॉग को कैंसेलेबल बनाएं (बैक बटन/बाहर टच)
        dialog.setCancelable(true);
        
        // वैकल्पिक: टाइटल बार छुपाएं (कस्टम लेआउट में अपना टाइटल है)
        // dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        
        // बटन ढूंढें और क्लिक लिसनर सेट करें
        Button dismissButton = dialog.findViewById(R.id.dialogButtonOK);
        dismissButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
                Toast.makeText(MainActivity.this, "डायलॉग खारिज किया गया", Toast.LENGTH_SHORT).show();
            }
        });

        // डायलॉग दिखाएं
        dialog.show();
    }
}

AlertDialog vs Dialog तुलना

विशेषता AlertDialog Dialog (कस्टम)
बिल्ट-इन स्ट्रक्चर हां (टाइटल, मैसेज, बटन्स) नहीं (पूरी तरह कस्टम)
कस्टम लेआउट setView() से संभव setContentView() से पूरा कंट्रोल
बटन ऑर्डर फिक्स्ड (नेगेटिव, न्यूट्रल, पॉजिटिव) पूरी तरह फ्री
उपयोग सिंपल कन्फर्मेशन कॉम्प्लेक्स फॉर्म्स, कस्टम UI

चरण 5: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                
                
            </intent-filter>
        </activity>

    </application>
</manifest>

ऐप चलाएं

ऐप लॉन्च करें, "डायलॉग दिखाएं" बटन दबाएं, और कस्टम आइकन, टाइटल, मैसेज और बटन वाला डायलॉग देखें।

Android ऐप में कस्टम अलर्ट डायलॉग कैसे बनाएं?

Android ऐप में कस्टम अलर्ट डायलॉग कैसे बनाएं?

Android ऐप में कस्टम अलर्ट डायलॉग कैसे बनाएं?

  1. Facebook पर Android ऐप कैसे बनाएं? Facebook पर Android ऐप कैसे बनाएं?

    Facebook Developer Console पर ऐप बनाकर App ID प्राप्त करने की चरण-दर-चरण प्रक्रिया। चरण 1: Facebook Developer Console पर ऐप बनाएं developers.facebook.com पर जाएं My Apps → Create App चुनें ऐप नाम और ईमेल दर्ज करें Create App ID पर क्लिक करें चरण 2: Android Studio में SDK जोड़ें प्रोजेक्ट-लेवल bu

  1. Android में कस्टम AlertDialog View कैसे इम्प्लीमेंट करें? Android में कस्टम AlertDialog View कैसे इम्प्लीमेंट करें?

    Android में कस्टम AlertDialog इम्प्लीमेंट करना यह ट्यूटोरियल दिखाता है कि कैसे कस्टम लेआउट के साथ AlertDialog बनाया जाता है, जिसमें कस्टम टाइटल, आइकन, मैसेज, और बटन स्टाइलिंग शामिल है। चरण 1: प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: मेन लेआउट में बटन res/layout/activity_main.

  1. Android ऐप में मल्टी-लेवल ExpandableListView कैसे बनाएं? Android ऐप में मल्टी-लेवल ExpandableListView कैसे बनाएं?

    परिचय यह ट्यूटोरियल दर्शाता है कि Android में ExpandableListView का उपयोग करके दो-स्तरीय (ग्रुप → चाइल्ड) सूची कैसे बनाएं। हम खेल श्रेणियों (क्रिकेट, फुटबॉल, टेनिस) और उनके खिलाड़ियों का उदाहरण बनाएंगे। आवश्यक चरण चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project से नया प्रोजेक्ट बन