【发布时间】:2011-06-01 16:45:37
【问题描述】:
正如标题的意思,我希望我的表格布局均匀地分配每列的宽度,并且每列的子项在列内居中。但是,设置 android:stretchColumns="*" 也会在每一列中拉伸子元素。
对破解这个问题有什么想法吗?
使用水平 Linearlayout 来模仿 tablerow 是可以接受的,但我也不知道如何让 Linearlayout 均匀地排列它的孩子:(
请帮忙, 提前致谢。
【问题讨论】:
标签: android
正如标题的意思,我希望我的表格布局均匀地分配每列的宽度,并且每列的子项在列内居中。但是,设置 android:stretchColumns="*" 也会在每一列中拉伸子元素。
对破解这个问题有什么想法吗?
使用水平 Linearlayout 来模仿 tablerow 是可以接受的,但我也不知道如何让 Linearlayout 均匀地排列它的孩子:(
请帮忙, 提前致谢。
【问题讨论】:
标签: android
无需破解。 :-) 只需将子项的 layout_width 设置为 wrap_content 而不是 fill_parent,或设置为固定值。将 layout_gravity 设置为 center 或 center_horizontal。
编辑:添加代码。
试试这个:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:shrinkColumns="*" android:stretchColumns="*">
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:gravity="center"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:gravity="center"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"
android:gravity="center"
/>
</TableRow>
</TableLayout>
【讨论】: