0

テーブルレイアウトを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);

    }
}
4

1 に答える 1

0

テキスト ビューの xml を次のように定義する必要があります。

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

「重み」属性は、すべてのテキスト ビューが行内で同じ幅を使用することを示すために使用されます。TableRow は LinearLayout を拡張するため、LinearLayout の属性を使用できます。次に、次のようにコードでビューをインフレートします。

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

ここで、コードでは、TextView を 1 つだけ TableRow に追加します。それは正常な動作ですか?2 つの列について話しますが、行には 1 つしか広告を表示しません...

于 2012-05-07T16:09:50.067 に答える