android的布局-----TableLayout(表格布局)
学习导图
(1)TableLayout的相关简介
java的swing编程和html中经常会使用到表格,可见表格的应用开发中使用还是比较多的,同样android也为我们提供这样的布局方式。
(2)如何确定行数
a:直接向TableLayout组件,直接占一行
b:如果想在一行添加多个组件, 就需要使用TableRow中添加
c:TableRow中有多少个组件,这一行就会有多少列
(3)三个常用属性(都是从零开始计数)
Shrinkable:如果某一列被设置为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证表格能适应父容器的宽度;
Stretchable:如果某一列被设置为Stretchable,那么该列的所有单元格的宽度可以拉伸,以保证组件完全填充表格空余空间;
Collapsed:如果某一列被设置为Collapsed,那么该列的所有单元格的都会被隐藏;
(4)使用实例(为了演示效果没有,所有组件都没有设置id)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <!--定义第一个表格布局,指定第二列允许收缩,第三列拉伸--> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:shrinkColumns="1" android:stretchColumns="2"> <!-- 直接添加组件会独占一行--> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="独自占一行" /> <TableRow> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="收缩按钮"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="拉伸按钮"/> </TableRow> </TableLayout> <!--定义第二个表格布局指定第二列隐藏--> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:collapseColumns="1"> <!-- 直接添加组件会独占一行--> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="独自占一行" /> <TableRow> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮"/> </TableRow> </TableLayout> <!--定义第三个表格布局,指定第二列,第三列都可以被拉伸--> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:stretchColumns="1,2"> <!-- 直接添加组件会独占一行--> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="独自占一行" /> <TableRow> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="拉伸按钮"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="拉伸按钮"/> </TableRow> </TableLayout> </LinearLayout>