我必须在按钮点击的相对布局中添加自定义布局。 再次在另一次单击时添加相同的布局,其他值高于先前的膨胀布局。 它会像这样继续下去。 我不想使用列表视图。
我可以动态添加我的自定义布局,但是如何将它放在上一个添加的上面。
单击ADD按钮时,新行将添加到我在xml中的相对布局,如ROW 1,ROW 2,这将继续使用ROW 3,ROW 4等。
答案 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的布局。您会发现每次点击事件都会添加按钮布局。