我想使用Android AlertDialog.Builder以编程方式构造对话框的布局。我有两个要垂直显示的EditText字段,一个垂直显示,但无法正常工作。以下代码仅显示第二个,就像是线性显示而不是垂直显示在第一个之上。
final EditText inputOne = new EditText(MainActivity.this);
final EditText inputTwo = new EditText(MainActivity.this);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
inputOne.setLayoutParams(lp);
inputOne.setLayoutParams(lp);
alertDialog.setView(inputOne);
alertDialog.setView(inputTwo);
答案 0 :(得分:1)
采用父布局并添加视图,最后将视图设置为对话框,如下所示:
LinearLayout parent = new LinearLayout(this);
parent.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
parent.setOrientation(LinearLayout.VERTICAL);
parent.addView(inputOne);
parent.addView(inputTwo);
alertDialog.setView(parent);