Android
    About Lesson

    What is an Alert Dialog in Android?

    An Alert Dialog is a small window that prompts the user to decide or provide information. You can customize its layout to fit your app’s requirements.

     

    Why Use a Custom Layout in Alert Dialog?

    A custom layout lets you design the dialog as you want it. It’s perfect for showing forms, custom messages, or styled buttons.

     

    Step-by-Step Tutorial to Create a Custom Alert Dialog in Android

    Follow these steps to create a custom Alert Dialog in an Android application using Java.

     

    Step 1: Set Up Your Android Project

    1. Open Android Studio.
    2. Create a new project or open an existing one.

     

    Step 2: Create a Custom Layout for the Dialog

    1. Navigate to the res/layout folder.
    2. Right-click and select New > Layout Resource File.
    3. Name the file custom_dialog.xml.

     

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
    android:id="@+id/tvDialogTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Custom Dialog Title"
    android:textSize="18sp"
    android:textStyle="bold"
    android:paddingBottom="10dp" />

    <EditText
    android:id="@+id/etInput"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Enter your input" />

    <Button
    android:id="@+id/btnSubmit"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Submit"
    android:layout_marginTop="10dp" />
    </LinearLayout>

     

    Step 3: Create the Alert Dialog in Java

    1. Open the activity where you want to display the dialog.
    2. Use the following code:
    import android.app.AlertDialog;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import androidx.appcompat.app.AppCompatActivity;

    public class MainActivity extends AppCompatActivity {

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

    Button btnShowDialog = findViewById(R.id.btnShowDialog);
    btnShowDialog.setOnClickListener(v -> showCustomDialog());
    }

    private void showCustomDialog() {
    // Inflate custom layout Infovistar.in
    LayoutInflater inflater = getLayoutInflater();
    View dialogView = inflater.inflate(R.layout.custom_dialog, null);

    // Create AlertDialog Infovistar.in
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(dialogView);

    AlertDialog alertDialog = builder.create();

    // Initialize dialog views Infovistar.in
    TextView tvTitle = dialogView.findViewById(R.id.tvDialogTitle);
    EditText etInput = dialogView.findViewById(R.id.etInput);
    Button btnSubmit = dialogView.findViewById(R.id.btnSubmit);

    // Set button click listener
    btnSubmit.setOnClickListener(v -> {
    String input = etInput.getText().toString();
    alertDialog.dismiss(); // Close dialog
    // Handle the input
    // Example: Show input in a Toast
    Toast.makeText(this, "You entered: " + input, Toast.LENGTH_SHORT).show();
    });

    // Show the dialog
    alertDialog.show();
    }
    }

     

    Step 4: Update Your Main Layout

    Add a button in your activity’s layout file (activity_main.xml) to trigger the dialog:

    <Button
    android:id="@+id/btnShowDialog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Show Custom Dialog"
    android:layout_gravity="center"
    android:layout_marginTop="50dp" />

     

    Key Points to Remember

    • LayoutInflater is used to load the custom layout.
    • Use AlertDialog.Builder to create the dialog.
    • Always set up button click listeners inside the custom layout to manage user interactions.

     

    Final Output

    When the user taps the “Show Custom Dialog” button, a dialog appears with:

    • A title.
    • An input field.
    • A button to submit the input.

     

    Following this tutorial, you can easily create a custom Alert Dialog for your Android app. Use it to enhance user interaction and build professional-looking applications.