web-dev-qa-db-ja.com

Androidのテーブルレイアウトで列の幅を等しく設定します

可能性のある複製:
XMLテーブルレイアウト?等幅のボタンで満たされた2つの等幅の行?

TableLayoutを使用して、データのリストを4列に表示しています。

問題の説明:

TableLayoutにある4つの列すべてに同じ幅を設定できません。私が使用しているレイアウトコードを入れています...

<TableLayout Android:layout_width="fill_parent" Android:layout_height="wrap_content" Android:stretchColumns="0">
        <TableRow>
            <TextView Android:text="table header1" Android:layout_width="wrap_content" Android:layout_height="wrap_content" 
                 Android:textSize="10dip" Android:textStyle="bold"/>    
            <TextView Android:text="table header2" Android:layout_width="wrap_content" Android:layout_height="wrap_content" 
                Android:textSize="10dip" Android:textStyle="bold"/> 
            <TextView Android:text="table header3" Android:layout_width="wrap_content" Android:layout_height="wrap_content" 
                Android:textSize="10dip" Android:textStyle="bold"/> 
            <TextView Android:text="table header4" Android:layout_width="wrap_content" Android:layout_height="wrap_content" 
                Android:textSize="10dip" Android:textStyle="bold"/>         
        </TableRow>
    </TableLayout>

このレイアウトを書き直して、同じサイズの4列を表示するにはどうすればよいですか?

68
Pankaj Kumar

これを試してください。

つまり、Android:stretchColumns="*"TableLayoutルートに追加し、Android:layout_width="0dp"TableRowsのすべての子に設定することになります。

<TableLayout
    Android:stretchColumns="*"   // Optionally use numbered list "0,1,2,3,..."
>
    <TableRow
        Android:layout_width="0dp"
    >
179
Sherif elKhatib

Android:stretchColumns値を*に変更します。

0は、最初の列をストレッチすることを意味します。値1は、2番目の列のストレッチなどを意味します。

*は、すべての列をストレッチすることを意味します。

68
iTurki