0

我在中创建了 RelativeLayoutlayout/activity.xml

我想通过以下方式以编程方式添加一些元素:

RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1); 
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
 rlayout.addView(CustomView,p);

它可以工作,但添加的元素并不能填满所有视图,但我需要它。

而且我想在正方形(宽度=高度)中添加这样的元素,我该怎么做?

4

1 回答 1

0

填充所有视图使用LayoutParams.MATCH_PARENT而不是LayoutParams.WRAP_CONTENT. 要将布局设置为正方形,只需创建int width,height = 300;然后:

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(width, height);

或传入LayoutParams.WRAP_CONTENTRelativeLayout.LayoutParams更改自定义视图的高度和宽度。

使视图正方形:

    Button customView = new Button(this);
    customView.setLayoutParams(new RelativeLayout.LayoutParams(200, 200));

    RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1); 
    rlayout.addView(customView);

要填充所有视图,您可以使用它:

    Button customView = new Button(this);
    customView.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    RelativeLayout rlayout = (RelativeLayout) findViewById(R.id.relativeLayout1); 
    rlayout.addView(customView);

您也可以像这样为您的布局项目添加规则:

        p.addRule(RelativeLayout.ALIGN_PARENT_LEFT);

最好的祝愿。

于 2013-06-25T11:04:31.413 回答