2009-11-03 10 views
65

私はアンドロイドアプリケーションに値のテーブルを表示していますが、コンテンツに応じてサイジングするのではなく、サイズの点でカラムを均等に配分したいと考えています。Android TableLayout内でカラムを均等に伸ばしてください

stretchColumnsで遊んでいましたが、適切な組み合わせを見つけることができませんでした。

+0

stretchColumnsの何が問題でしたか?いくつかの列が「溢れていた」のですか? –

+0

私はそれらをすべて同じサイズにしたいが、彼らはそれらの間で異なるサイズを取得するようだ。 – Drahcir

+1

私が知っていることは、ビューの1つがあなたがそれを列に割り当てたいと思っている領域よりも大きい場合です。 –

答えて

148

私は同じ問題を抱えていました。私はいつもandroid:stretchColumnsに1つの番号しか入力しませんでしたが、伸ばすべきすべての列を入力する必要があります。

android:stretchColumns="0,1,2" 

または書き込みを::

android:stretchColumns="*" 

その後、すべての列が同じ大きさを持つことになりますが、3つの列を持っているのであれば、あなたが書く必要があります。覚えておいては、android:stretchColumnsTableLayout要素の属性です。

+0

アンドロイドに7色の値を表示しようとしていますが、クラスからダイナミックに表示するようにしています...しかし、ラウンドphを保持します。ストレッチカラムとxmlスタティックができません。 – Siten

+1

と、これを実行時にどのように行うのでしょうか? – Ewoks

+2

UPDATE:pTable.setColumnStretchable(1、true); \t pTable.setColumnShrinkable(0、true); – Ewoks

1

列のサイズは、内容のサイズによって制御します。すべて同じサイズにしたい場合は、適切なセルにandroid:layout_widthで設定してください。

+3

内容が動的でサイズのレイアウト幅がわからない場合は動作しません。他の方法はありますか – AD14

4

あなたは、テーブルの列内の各ビューのためにandroid:layout_width="0dip"android:layout_weight="1"の両方を設定する必要が列

16

ためandroid:layout_weightを使用してください。私は、重みがそれぞれのビューで使用される行のEMPTY SPACEの割合を決定し、すべてのビューの幅が0dipに設定されているため、この行が空のスペースであり、したがってビューが等しいすべて全部の幅の同じ割合を割り当てました。

0

解決策を探している人は誰でも: 縮みと伸縮の両方を設定すると、そのトリックが行われました。 私はOPとほとんど同じ問題を抱えていました。

関連する問題