Dialogs are important components in Android to notify users or collect input. In this guide, you’ll learn how to create two types of dialogs in Java using Android Studio:
- Use Material Components for modern UI
- Don’t block critical UI behind dialogs
- Make dialogs cancelable if needed using
.setCancelable(true)
Conclusion
With AlertDialogs and Custom Dialogs, you can effectively interact with users in your Android app. Whether it’s a simple confirmation or a complex form input, these dialogs help make the user experience smoother and more intuitive.
- AlertDialogs – simple dialogs with buttons.
- Custom Dialogs – fully customizable layouts for complex interactions.
- AlertDialogs – simple dialogs with buttons.
- Custom Dialogs – fully customizable layouts for complex interactions.
1. Creating a Basic AlertDialog
Step-by-Step:
Step 1: Add this code to your Activity (e.g. MainActivity.java
)


new AlertDialog.Builder(MainActivity.this) .setTitle("Exit App") .setMessage("Are you sure you want to exit?") .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); // Exit the app } }) .setNegativeButton("No", null) .show();
2. Creating a Custom Dialog
Step-by-Step:
Step 1: Create a layout XML for your custom dialog
res/layout/custom_dialog.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:padding="20dp"> <TextView android:id="@+id/dialogTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Custom Dialog Title" android:textStyle="bold" android:textSize="18sp"/> <EditText android:id="@+id/inputField" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter something"/> <Button android:id="@+id/submitButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Submit"/> </LinearLayout>
Step 2: Show the dialog in your activity


LayoutInflater inflater = getLayoutInflater(); View dialogView = inflater.inflate(R.layout.custom_dialog, null); AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setView(dialogView); AlertDialog dialog = builder.create(); dialog.show(); // Handle button click Button submitBtn = dialogView.findViewById(R.id.submitButton); EditText input = dialogView.findViewById(R.id.inputField); submitBtn.setOnClickListener(v -> { String text = input.getText().toString(); Toast.makeText(MainActivity.this, "Input: " + text, Toast.LENGTH_SHORT).show(); dialog.dismiss(); });
3. Tips for Better Dialog Design
- Use Material Components for modern UI
- Don’t block critical UI behind dialogs
- Make dialogs cancelable if needed using
.setCancelable(true)
Conclusion
With AlertDialogs and Custom Dialogs, you can effectively interact with users in your Android app. Whether it’s a simple confirmation or a complex form input, these dialogs help make the user experience smoother and more intuitive.
- AlertDialogs – simple dialogs with buttons.
- Custom Dialogs – fully customizable layouts for complex interactions.