0

在此处输入图像描述我必须在单击按钮时在相对布局中添加自定义布局。再次单击添加相同的布局,并在之前的膨胀布局之上添加另一个值。它会继续这样。我不想使用列表视图。

我可以动态添加我的自定义布局,但如何将它放在之前添加的上方。

单击添加按钮时,将在 xml 中的相对布局中添加一个新行,例如第 1 行、第 2 行,这将继续第 3 行、第 4 行等。

4

2 回答 2

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 文件中设置的所有参数。

于 2012-07-05T10:04:53.340 回答
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 和方向 Vertical 的布局。您会发现在每个单击事件上都添加了按钮布局。

于 2012-07-05T10:48:26.743 回答