在RelativeLayout中在运行时对齐视图

时间:2011-02-22 12:38:10

标签: android relativelayout

如何在运行时在相对布局中添加视图,以使其在父级的顶部对齐。假设我在单击按钮时添加了EditText。现在,这个EditText应该以EditText位于Button之上。

这是我正在做的一个例子。

    button = new Button(this);  //here I am just checking if the button can come above the EditText
    button.setText("I am a button");  
    params.addRule(RelativeLayout.BELOW, editText.getId());  
    params.addRule(RelativeLayout.ALIGN_PARENT_ABOVE);  
    relativeLayout.addView(button);  

我根本无法进行对齐。 任何线索都非常感谢。 在此先感谢。

2 个答案:

答案 0 :(得分:6)

你需要使用RelativeLayout.addView的重载,它将你的LayoutParams作为第二个参数

    button = new Button(this);  //here I am just checking if the button can come above the EditText
    button.setText("I am a button");  
    params.addRule(RelativeLayout.BELOW, editText.getId());  
    params.addRule(RelativeLayout.ALIGN_PARENT_ABOVE);  
    relativeLayout.addView(button, params);

addView method

答案 1 :(得分:1)

不要这么复杂

相反

步骤1:添加具有垂直方向的线性布局,以便您添加按钮

步骤2:首先添加EditText并将其可见性设置为GONE

第3步:添加按钮

步骤4:点击按钮,只需按下按钮

即可

这将确保工作,并且易于实施

希望有所帮助:)