在AlertDialog中应该使用哪些LayoutParams?

时间:2015-10-16 12:58:03

标签: java android android-layout dialog

我有一个EditText对象:

    EditText textbox = new EditText (this);
    textbox.setHint (something);

我想使用构建器将此视图添加到AlertDialog

    AlertDialog.Builder builder = new AlertDialog.Builder (this);
    builder.setTitle (R.string.enter_password_name)
            .setPositiveButton (R.string.save_text, new DialogInterface.OnClickListener () {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            })
            .setNegativeButton (R.string.cancel_text, new DialogInterface.OnClickListener () {
                @Override
                public void onClick(DialogInterface dialog, int which) {

                }
            });

我知道有一个方法setView(int),但我使用的是API 15,因此我只能使用setView(View),这也是我通过代码创建视图的原因。

到目前为止一切顺利,但我现在需要设置视图的LayoutParams。我应该选择LayoutParams什么?我知道在RelativeLayout中您使用RelativeLayout.LayoutParams而在LinearLayout中使用LinearLayout.LayoutParams。但是我应该在对话框中使用什么?

3 个答案:

答案 0 :(得分:4)

根据源代码here,alertdialog的根元素是LinearLayout,因此我建议使用LinearLayout.LayoutParams

答案 1 :(得分:0)

即使您想setView view作为参数,也可以随时在xml中创建视图并使用布局充气程序对其进行充气,然后将其用作参数。

示例:

View view = getLayoutInflater().inflate(R.layout.yourlayout, null);
setView(view);

答案 2 :(得分:0)

这取决于您是否为自定义视图充气。

  • 如果你这样做,你应该使用LayoutParams 自定义视图容器(线性或相对)。
  • 如果您不使用自定义视图 可以设置Linear LayoutParams。