动态添加一个低于其他的自定义布局

时间:2012-07-05 09:55:08

标签: android

enter image description here我必须在按钮点击的相对布局中添加自定义布局。 再次在另一次单击时添加相同的布局,其他值高于先前的膨胀布局。 它会像这样继续下去。 我不想使用列表视图。

我可以动态添加我的自定义布局,但是如何将它放在上一个添加的上面。

单击ADD按钮时,新行将添加到我在xml中的相对布局,如ROW 1,ROW 2,这将继续使用ROW 3,ROW 4等。

2 个答案:

答案 0 :(得分:1)

您可以使用RelativeLayout.LayoutParams类的addRule方法。例如:

RelativeLayout.Layoutparams params = (RelativeLayout.LayoutParams)button.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.LEFT_OF, R.id.id_to_be_left_of);

button.setLayoutParams(params); 

执行此操作,您可以以编程方式设置要在布局xml文件中设置的所有参数。

答案 1 :(得分:1)

按钮点击事件添加此代码:

            LinearLayout linearLayout=(LinearLayout) findViewById(R.id.layout);
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);


            LinearLayout layout=new LinearLayout(getApplicationContext());
            LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            layout.setOrientation(LinearLayout.VERTICAL);
            layout.setLayoutParams(params);
            Button button1=new Button(getApplicationContext());
            button1.setLayoutParams(params1);
            button1.setText("button");


            layout.addView(button1);
            linearLayout.addView(layout);

在XML文件中定义具有id @ + id / layout和orientation Vertical的布局。您会发现每次点击事件都会添加按钮布局。