如何创build横向维度完整的对话框

当我在布局,其中指定此对话框android:layout_width="match_parent"我得到这个对话框:

小对话

我需要更广泛的对话。 有任何想法吗?

您可以通过抓取对话框使用的Window对象,并重新设置宽度。 这是一个简单的例子:

 //show the dialog first AlertDialog dialog = new AlertDialog.Builder(this) .setTitle("Test Dialog") .setMessage("This should expand to the full width") .show(); //Grab the window of the dialog, and change the width WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); Window window = dialog.getWindow(); lp.copyFrom(window.getAttributes()); //This makes the dialog take up the full width lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT; window.setAttributes(lp); 

这是最终的结果。 请注意,如果您需要微调事物(如更改背景等),则可以使用更多的样式进行对话。 当我不得不这样做的时候,我通常会使用这个方法,并且在构build器类中使用setView()自定义对话框中使用的布局。

例

解决这个问题的另一种方法是使用:

 import android.support.v7.app.AlertDialog; 

代替:

 import android.app.AlertDialog;