返回

7.5 TableLayout布局详解

发布时间:2022-11-25 17:18:15 340
# android
TableLayout表格布局,将子元素的位置分配到行或列中。TableLayout布局由许多的TableRow(行) 组成,它没有列的概念,列是由行中的控件数目决定的。TableLayout布局也是实际中常用的布局方式。

TableLayout布局不会显示行、列 、单元格的边框线。TableLayout布局应用如图7-17所示。


图7-17 TableLayout1

TableLayout布局文件请参考代码清单7-20,完整代码请参考chapter7_5工程中tablelayout1.xml代码部分(chapter7_5/res/layout/tablelayout1.xml)。

【代码清单7-20】 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TableRow> <TextView android:text="@string/row1_1" android:padding="3dip" /> <TextView android:text="@string/row1_2" android:padding="3dip" /> <TextView android:text="@string/row1_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row2_1" android:padding="3dip" /> <TextView android:text="@string/row2_2" android:padding="3dip" /> <TextView android:text="@string/row2_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row3_1" android:padding="3dip" /> <TextView android:text="@string/row3_2" android:padding="3dip" /> <TextView android:text="@string/row3_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row4_1" android:padding="3dip" /> <TextView android:text="@string/row4_2" android:padding="3dip" /> <TextView android:text="@string/row4_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row5_1" android:padding="3dip" /> <TextView android:text="@string/row5_2" android:padding="3dip" /> <TextView android:text="@string/row5_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row6_1" android:padding="3dip" /> <TextView android:text="@string/row6_2" android:padding="3dip" /> <TextView android:text="@string/row6_3" android:padding="3dip" /> </TableRow> </TableLayout> 下面再看一个合并单元格TableLayou布局应用图7-18所示。 图7-18 TableLayout2 TableLayout布局文件请参考代码清单7-21,完整代码请参考chapter7_5工程中tablelayout2.xml代码部分(chapter7_5/res/layout/tablelayout2.xml)。 【代码清单7-21】 <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="0,1,2"> <TableRow> <TextView android:text="@string/row1_1" android:padding="3dip" /> <TextView android:text="@string/row1_2" android:padding="3dip" /> <TextView android:text="row1_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row2_1" android:padding="3dip" /> <TextView android:text="@string/row2_2" android:padding="3dip" android:layout_span="2" android:background="#ff0060" /> </TableRow> <TableRow> <TextView android:text="@string/row3_1" android:padding="3dip" /> <!-- android:layout_column="1" --> <TextView android:text="@string/row3_2" android:padding="3dip" /> <TextView android:text="row3_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row4_1" android:padding="3dip" /> <TextView android:text="@string/row4_2" android:padding="3dip" /> <TextView android:text="row4_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row5_1" android:padding="3dip" /> <TextView android:text="@string/row5_2" android:padding="3dip" /> <TextView android:text="row5_3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="@string/row6_1" android:padding="3dip" /> <TextView android:text="@string/row6_2" android:padding="3dip" /> <TextView android:text="row6_3" android:padding="3dip" /> </TableRow> </TableLayout> TableLayout标签内的android:stretchColumns="0,1,2"属性是第一列、第二列、第三列自动调节列宽。<TableRow>内的TextView控件中的属性android:layout_span="2"是合并一个单元格,如图7-18显示的粉色背景就是合并的单元格。 出自《Android开发案例驱动教程》第七章 案例驱动教程》第七章
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
7.3 RelativeLayout布局详解 2022-11-25 16:52:28