Finder
Finder

Reputation: 1217

How to set Alert Dialog height and width in Android?

Here is my code:

@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    context = this;    

    AlertDialog alertChoice = new AlertDialog.Builder(context).create();
    alertChoice.setTitle("Title");
    alertChoice.setView(ViewDialogScreen("Test"));    
    alertChoice.show();    
  }
  private View ViewDialogScreen(String strText) {
    LinearLayout llay = new LinearLayout(context);
    llay.setLayoutParams(new LayoutParams(320, 400));
    TextView tv = new TextView(context);
    tv.setText(strText);
    llay.addView(tv);
    return llay;
  }

enter image description here

I got the output like the above.

  1. I need to show the AlertDialog in full screen / 95% of the Screen size.
  2. I need to handle more fields in the Dialog.
  3. How do I enable the HorizontalScrollview in the AlertDialog?

Upvotes: 1

Views: 11694

Answers (3)

Michael Rose
Michael Rose

Reputation: 7820

to get the scrolling behaviour, add a surrounding ScrollView to your layout, which would make your ViewDialogScreen method to this:

private View ViewDialogScreen(String strText) {
    ScrollView scroll = new ScrollView(context);
    scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    LinearLayout llay = new LinearLayout(context);
    llay.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    TextView tv = new TextView(context);
    tv.setText(strText);
    scroll.addView(llay);
    llay.addView(tv);
    return scroll;
}

Now try adding some more fields and it should scroll.

Upvotes: 1

Wroclai
Wroclai

Reputation: 26925

If you want to customize an AlertDialog you need to create a Custom Dialog.

Upvotes: 0

Vivek
Vivek

Reputation: 4260

I am not sure this but you can set your own layout for dialog. Refer my answer Android: Dialog dismisses without calling dismiss

Upvotes: 0

Related Questions