Android为周期设置保证金

时间:2014-07-11 10:03:05

标签: android relativelayout margins

我正在尝试以编程方式将一些TextView放入我的活动中。问题是我无法设置它们的边距(上边距),因此它们之间存在一些空间。

XML布局结构如下:

<ScrollView>

    <RelativeLayout_1>

        <RelativeLayout_2>

            <TextView/>

            <EditText/>
        </RelativeLayout>
    </RelativeLayout>

</ScrollView>

我省略了所有不必要的信息。

然后在我的活动中我做了

    mLayout = (RelativeLayout) findViewById(R.id.relative_layout);

    RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

    relativeParams.addRule(RelativeLayout.ALIGN_LEFT, R.id.handicap_layout);
    relativeParams.addRule(RelativeLayout.BELOW, R.id.handicap_layout);

    TextView[] texts = new TextView[6];

    for(int i=0; i<6; i++) {
        texts[i] = new TextView(MyActivity.this);
        texts[i].setText("Text " + (i+1));
        texts[i].setTextSize(20);
        relativeParams.setMargins(0, 10+(10*i), 0, 0);   /* trying to increase the margin */
        texts[i].setLayoutParams(relativeParams);
        mLayout.addView(texts[i]);
    }

其中mLayout指的是RelativeLayout_1,handicap_layout指的是RelativeLayout_2。

问题是边距不会增加,TextView会一个显示在另一个之上。

有没有人有解决方案?谢谢!

编辑:已解决

好的,我设法解决了这个问题:必须在内部 for循环中声明LayoutParams。 感谢。

1 个答案:

答案 0 :(得分:0)

获取一个textview xml文件。在那里拿利润。一旦完成,就会夸大该textview。

TextView itemview = (TextView)getLayoutInflater().inflate(R.layout.equipment_item, null);

完成后,将文本设置为该布局。

我认为你可以找到正确的相对布局。然后将该项目视图添加到相对布局,如下所示。

equipmentdetails_layout.addView(itemview);

然后你可以获得边距。