android tablerow将xml转换为代码

时间:2011-06-12 14:50:48

标签: android textview

如何将下面的xml转换为活动中的java代码?...

    <TableRow android:background="#00ff00" android:layout_margin="2dip">
        <TextView android:id="@+id/firstview"  android:layout_margin="2dip"/>
        <TextView android:id="@+id/someview"  android:layout_margin="2dip"/>

    </TableRow>

这是一个例子 http://www.droidnova.com/display-borders-in-tablelayout,112.html

2 个答案:

答案 0 :(得分:0)

来自TableLayout

的文档
  

TableLayout的孩子不能   指定layout_width属性。   宽度始终为MATCH_PARENT。然而,   layout_height属性可以是   由孩子定义;默认值是   包装内容。如果孩子是   TableRow,那么高度总是如此   WRAP_CONTENT。

尝试更新LayoutParams以分别使用MATCH_PARENT,WRAP_CONTENT作为宽度和高度。

答案 1 :(得分:0)

在xml文件中提供idTableRow,例如myRow

Java代码:

TableRow tr = (TableRow)this.findViewById(R.id.myRow);

TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT);

lp.setMargins(4, 4, 4, 4);

TextView tv1 = new TextView(this);
tr.addView(tv1, lp);

TextView tv2 = new TextView(this);
tr.addView(tv2, lp);

以这种方式,您可以设置保证金。

en,setMargins使用px,你应该自己将2dip改为px。

我来这里问同样的问题,我从这个标题得到答案: How to set margin of ImageView using code, not xml