AlertDialog or Custom Dialog

13.2k views Asked by At

I'm developing an Android 2.2 application.

I want to show a text with an Ok button but I want to add my custom style.

What is the better choice an AlertDialog with a custom layout or a Dialog?

2

There are 2 answers

1
Cristian On BEST ANSWER

I'd go for AlertDialog:

  • It's easier to implement.
  • The only custom thing you have to do is an XML layout and then inflate it.

AlertDialog dialog = new AlertDialog.Builder(this)
    .setView(getLayoutInflater().inflate(R.layout.custom_dialog, null))
    .create();

In order to listen for UI events:

View view = getLayoutInflater().inflate(R.layout.custom_dialog, null);
Button btn = (Button)view.findViewById(R.id.the_id_of_the_button);
btn.setOnClickListener(blah blah);
AlertDialog dialog = new AlertDialog.Builder(this)
    .setView(view)
    .create();

You can check in android dialog docs:

The Dialog class is the base class for dialogs, but you should avoid instantiating Dialog directly. Instead, use one of the following subclasses:

0
Hissaan Ali On

AlertDialog is a lightweight version of a Dialog. This is supposed to deal with INFORMATIVE matters only, That's the reason why complex interactions with the user are limited. Dialog on the other hand is able to do even more complex things .

when would i use an Alert Dialog?

-When i just want to inform something to the user .

-When we want use for a prompt like Do you want to go back (Yes, No, Cancel. Alert dialog comes with 3 buttons which are positive, negative and neutral which are provided by default).

-When i want to prompt user for a simple value (number/date/string...)

enter image description here

when would i use a Dialog?

-When i want to carry on a complex process with more buttons and widgets .

-Example:

enter image description here