在Android中将tablelayout分为2列

时间:2012-05-07 15:57:41

标签: android tablelayout

我已尝试将tablelayout分成2列或更多列,但我不知道如何,有什么帮助?

<TableLayout
    android:id="@+id/exercisetableviewing"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_x="5dp"
    android:background="@layout/border"
    android:layout_y="289dp" >
</TableLayout>

我在表格中添加了一行:

private void fillTable(TableLayout tableLayout, String[] items) {
    for (int i = 0; i < items.length; i++) {

        TextView itemText = new TextView(FillingActivity.this);
        itemText.setText(items[i]);
        TableRow row = new TableRow(FillingActivity.this);
        row.addView(itemText);
        if(i % 2 == 1)
            row.setBackgroundColor(color.LightGreen);

        tableLayout.addView(row);

    }
}

1 个答案:

答案 0 :(得分:0)

您应该为文本视图定义一个xml,其中包含:

<TextView
    android:id="@+id/textView"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"/>

“weight”属性用于表示所有文本视图在行中使用相同的宽度。 TableRow扩展了LinearLayout,因此您可以使用LinearLayout的属性。 然后在您的代码中夸大您的视图,如下所示:

TextView itemText = LayoutInflater.from(FillingActivity.this).inflate(R.layout.my_text_item, null);

现在,在您的代码中,您只需向TableRow添加一个TextView。这是正常行为吗?你谈了两个专栏,但你只在你的行中添加了一个......