如何在 Android 的 TableLayout 中设置表格宽度和列数
Posted
技术标签:
【中文标题】如何在 Android 的 TableLayout 中设置表格宽度和列数【英文标题】:How to set Table width and number of Columns in TableLayout in Android 【发布时间】:2012-03-31 22:34:06 【问题描述】:有没有什么方法可以在android中制作像html这样的表格,我可以像在html中一样设置行列宽
<table >
<tr><td style="width:'50%;"></td>
<td style="width:'50%;"></td>
</tr>
</table>
<TableLayout
android:id="@+id/tableLayout1"
android:layout_
android:layout_
android:stretchColumns="3" >
<TableRow
android:id="@+id/tableRow1"
android:layout_
android:layout_ >
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_
android:layout_ >
</TableRow>
</TableLayout>
编辑 1:
对于像 Html 这样的东西,百分比宽度相对于其父项起作用
但 Android 中引入的权重与可用的屏幕尺寸有关 根。
【问题讨论】:
【参考方案1】:您可以使用 LinearLayout 和 weight 属性来实现这一点。
<LinearLayout
android:layout_
android:layout_
android:weightSum="1.0">
您的 Rows 中的每个子元素都可以作为总和的一部分(百分比)赋予权重。请务必将 layout_width 设置为“0dp”
<Button
android:layout_
android:layout_
android:layout_weight="0.5" />
<Button
android:layout_
android:layout_
android:layout_weight="0.5" />
查看上一个问题 Linear Layout and weight in Android
【讨论】:
【参考方案2】:TableLayout 具有类似于 LinearLayout 的属性。我也做了一些时间。为了更好地说,请参阅下面的示例代码。希望它有用。
<TableLayout
android:layout_
android:layout_
android:stretchColumns="3" >
<TableRow
android:id="@+id/tableRow1"
android:layout_
android:layout_
android:orientation="horizontal"
android:layout_weight="1">
<TextView android:text="@string/test1" android:layout_weight="1"></TextView>
<TextView android:text="@string/test2" android:layout_weight="1"></TextView>
<TextView android:text="@string/test3" android:layout_weight="1"></TextView>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_
android:layout_
android:orientation="horizontal"
android:layout_weight="1">
<TextView android:text="@string/test1" android:layout_weight="1"></TextView>
<TextView android:text="@string/test2" android:layout_weight="1"></TextView>
<TextView android:text="@string/test3" android:layout_weight="1"></TextView>
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_
android:layout_
android:orientation="horizontal"
android:layout_weight="1">
<TextView android:text="@string/test1" android:layout_weight="1"></TextView>
<TextView android:text="@string/test2" android:layout_weight="1"></TextView>
<TextView android:text="@string/test3" android:layout_weight="1"></TextView>
</TableRow>
</TableLayout>
【讨论】:
列号从零开始,所以stretchColumns 应该是2以上是关于如何在 Android 的 TableLayout 中设置表格宽度和列数的主要内容,如果未能解决你的问题,请参考以下文章
一起Talk Android吧(第四百零一回:如何使用TableLayout布局)