以编程方式添加视图布局

时间:2017-01-28 19:42:26

标签: android

我差不多有一个主要布局是垂直LinearLayout,只需按一下按钮,我就可以添加一个带有2个编辑文本的水平布局。我在这里所做的不起作用,没有错误但没有任何反应。

public void addView(View v){
    LinearLayout mainLayout =(LinearLayout)findViewById(R.id.activity_main);

    LinearLayout h = new LinearLayout(this);

    h.setOrientation(LinearLayout.HORIZONTAL);
    h.addView(new EditText(this));
    h.addView(new EditText(this));

    mainLayout.addView(h);
}

1 个答案:

答案 0 :(得分:1)

以编程方式创建View时应考虑的一件事是设置LayoutParams,例如

LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WrapContent);
view.setLayoutParams(layoutParams);

这样您就可以在布局中定义视图的大小,这通常是您在xml布局中使用layout_widthlayout_height属性设置的内容

在您的情况下,您应为LayoutParams添加LinearLayout,为EditText

添加一个allEvents