How to control the width and height of the default Alert Dialog in Android?

android, android-widget

Solution

Only a slight change in Sat Code, set the layout after `show()` method of `AlertDialog`.

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
builder.setTitle("Title");
alertDialog = builder.create();
alertDialog.show();
alertDialog.getWindow().setLayout(600, 400); //Controlling width and height.

Or you can do it in my way.

alertDialog.show();
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();

lp.copyFrom(alertDialog.getWindow().getAttributes());
lp.width = 150;
lp.height = 500;
lp.x=-170;
lp.y=100;
alertDialog.getWindow().setAttributes(lp);

Problem

``` AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Title"); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { Toast.makeText(getApplicationContext(), items[item], Toast.LENGTH_SHORT).show(); } }); AlertDialog alert = builder.create(); ``` I am using the above code to display an Alert Dialog. By default, it fills the screen in width and wrap_content in height. How can I control the width and height of default alert dialog ? I tried: ``` alert.getWindow().setLayout(100,100); // It didn't work. ``` How to get the layout params on the alert window and manually set the width and height?

Original source

Related problems