Android 自学之表格布局 TableLayout
2014-05-22 15:02
471 查看
表格布局(TableLayout),表格布局采用行、列的形式来管理UI组件,TableLayout并不需要明确的声明多少行,多少列,而是通过TableRow、其他组件来控制表格的行数和列数。
每次想TableLayout中添加一个TableRow,TableRow是一个表格行,也是容器;因此他也可以不断的添加组件,没添加一个组件就是增加一列。
如果直接想TableLayout中添加组件的话,那么他就会独自占据一行的位置。
在表格布局中,列的宽度取决于该列中最宽的那列的宽度,整个表格布局的宽度取决于父容器的宽度(默认是占满父容器本身)。
在表格布局管理器中,可以为单元格设置如下三种行为方式:
Shrinkable:如果某列被设成这个属性的话,那么该列的所有单元格的宽度可以被收缩,以保证该表格适应父容器的宽度。
Stretchable:如果某列被设成这个属性的话,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间。
Collapsed:如果某列被设成这个属性的话,那么该列的所有单元格都会被掩藏。
下面程序是采用TableLayout布局
layout/main.xml
上面的代码里面我们用了三次TableLayout布局:
第一个表格我们对第二列实现了收缩,第三列实现了拉伸;
第二个表格我们对第二列实现了掩藏;
第三个表格我们同时对第二、三列实现了拉伸。这些是这几个属性的使用方法
每次想TableLayout中添加一个TableRow,TableRow是一个表格行,也是容器;因此他也可以不断的添加组件,没添加一个组件就是增加一列。
如果直接想TableLayout中添加组件的话,那么他就会独自占据一行的位置。
在表格布局中,列的宽度取决于该列中最宽的那列的宽度,整个表格布局的宽度取决于父容器的宽度(默认是占满父容器本身)。
在表格布局管理器中,可以为单元格设置如下三种行为方式:
Shrinkable:如果某列被设成这个属性的话,那么该列的所有单元格的宽度可以被收缩,以保证该表格适应父容器的宽度。
Stretchable:如果某列被设成这个属性的话,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间。
Collapsed:如果某列被设成这个属性的话,那么该列的所有单元格都会被掩藏。
下面程序是采用TableLayout布局
layout/main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- 定义第一个表格布局,指定第2列允许收缩,第3列允许拉伸 --> <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:shrinkColumns="1" android:stretchColumns="2" > <!-- 直接添加按钮,它自己会占一行 --> <Button android:id="@+id/ok1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="独自一行的按钮" /> <!-- 添加一个表格行 --> <TableRow> <!-- 为该表格行添加3个按钮 --> <Button android:id="@+id/ok2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮" /> <Button android:id="@+id/ok3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被收缩的按钮" /> <Button android:id="@+id/ok4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> </TableRow> </TableLayout> <!-- 定义第二个表格布局 ,指定第二列隐藏--> <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:collapseColumns="1" > <!-- 直接添加按钮,它自己会占一行 --> <Button android:id="@+id/ok5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" 独自一行的按钮 " /> <!--定义一个表格行--> <TableRow> <!-- 为该表格行添加3个按钮 --> <Button android:id="@+id/ok6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮1" /> <Button android:id="@+id/ok7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="被隐藏的按钮" /> <Button android:id="@+id/ok8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮 3" /> </TableRow> </TableLayout> <!-- 定义第三个表格布局 ,指定第2、3两列可以被拉伸--> <TableLayout android:id="@+id/TableLayout01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="1,2" > <!-- 直接添加按钮,它自己会占一行 --> <Button android:id="@+id/ok9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="独自一行的按钮" /> <!--定义一个表格行--> <TableRow> <!-- 为该表格行添加3个按钮 --> <Button android:id="@+id/ok10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮" /> <Button android:id="@+id/ok11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> <Button android:id="@+id/ok12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> </TableRow> <!--定义一个表格行--> <TableRow> <!-- 为该表格行添加2个按钮 --> <Button android:id="@+id/ok13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="普通按钮" /> <Button android:id="@+id/ok14" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="允许被拉伸的按钮" /> </TableRow> </TableLayout> </LinearLayout>
上面的代码里面我们用了三次TableLayout布局:
第一个表格我们对第二列实现了收缩,第三列实现了拉伸;
第二个表格我们对第二列实现了掩藏;
第三个表格我们同时对第二、三列实现了拉伸。这些是这几个属性的使用方法
相关文章推荐
- Android:控件布局(表格布局)TableLayout
- Android布局-TableLayout表格布局
- Android:控件布局(表格布局)TableLayout
- Android基础_页面布局_TableLayout(表格布局)
- Android基础入门教程——2.2.3 TableLayout(表格布局)
- Android基础入门教程——2.2.3 TableLayout(表格布局)
- Android初试--TableLayout(表格布局)
- Android开发总结笔记 TableLayout(表格布局) 1-1-4
- Android课程---表格布局TableLayout
- android布局------TableLayout(表格布局)详解
- android-TableLayout 表格布局
- Android基础入门教程——2.2.3 TableLayout(表格布局)
- Android表格布局管理器TableLayout
- 【Android布局之【TableLayout(表格布局)】
- Android布局方式之表格布局管理器(TableLayout)
- Android 五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,RelativeLayout,TableLayout.
- Android应用开发之TableLayout (表格布局)+信息列表案例
- 浅谈Android五大布局(二)——RelativeLayout和TableLayout
- Android 表格布局