通过java在表行中添加layoutWeightSum

时间:2013-07-25 11:42:57

标签: android android-tablelayout

我想显示一个包含三列(TextView)的表格行,但我想将表格行分成三个相等的部分。

通过在XML中设置TableRow中的layoutWeightSum并为所有www TextView设置layout_weight = 1,可以轻松实现这一点。

但是我在运行时通过java 而不是xml添加表。

我所知道的是TableRow.LayoutParameter不为weightSum提供任何东西。我怎么能这样做?

TableRow.LayoutParams pmRow = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
                                                        TableRow.LayoutParams.WRAP_CONTENT);

4 个答案:

答案 0 :(得分:1)

我帮你盖好了,伙计!

myTableRow.setWeightSum(float weightSum);

答案 1 :(得分:1)

您可以通过以下代码实现此目的。

TableLayout layout = //...findViewbyid
layout.setStretchAllColumns(true);

并为0dp的所有子项(视图)设置宽度TableRow,如下所示。

<TextView
      android:id="@+id/txt_no1"
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:text="hi" />

注意

上面是XML布局设计,但您也可以创建运行时代码。它仅用于演示。

答案 2 :(得分:1)

使用pmRow.span=int value

喜欢pmRow.span=3;

答案 3 :(得分:0)

使用三个必需项(TextViews)创建LinearLayout xml(水平)。要在运行时添加行项,请膨胀上述布局,并设置文本值并添加它。