如何创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;