Android 表格布局<TableLayout>
表格布局即,tableLayout,表格布局通过行、列的形式来管理UI组件,TablelLayout并不需要明确地声明包含多少行、多少列,而是通过TableRow,以及其他组件来控制表格的行数和列数,TableRow也是容器,因此可以向TableRow里面添加其他组件,没添加一个组件该表格就增加一列。
如果想TableLayout里面添加组件,那么该组件就直接占用一行。
在表格布局中,列的宽度由该列中最宽的单元格决定,整个表格布局的宽度取决于父容器的宽度(默认是占满父容器本身)。
TableLayout继承了LinearLayout,因此他完全可以支持LinearLayout所支持的全部XML属性,除此之外TableLayout还支持以下属性:
XML属性 相关用法 说明
1. andriod:collapseColumns setColumnsCollapsed(int ,boolean) 设置需要隐藏的列的序列号,多个用逗号隔开
2.android:shrinkColumns setShrinkAllColumns(boolean) 设置被收缩的列的序列号,多个用逗号隔开
3.android:stretchColimns setSretchAllColumnds(boolean) 设置允许被拉伸的列的序列号,多个用逗号隔开
代码如下所示:
<?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"
>
<!-- 定义第一个表格布局,指定第二列允许收缩,第三列允许拉伸 -->
<TableLayout
android:id="@+id/tablelayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1"
android:stretchColumns="2"
>
<!-- 直接添加一个button,他自己会占用一行 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="独自占用一行的按钮"/>
<!-- 先添加一个tableRow,在添加三个button, 结果应该是三个button在这个tableRow(行)里面,即排列为一行 -->
<TableRow >
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RBtn1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RBtn2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RBtn3"/>
</TableRow>
</TableLayout>
</LinearLayout>
上面代码展示了,在tableLayour中使用TableRow的效果,和不使用TableRow的效果,并第二列允许收缩,第三列允许拉伸。运行结果如下所示:
下面说明XML属性的隐藏使用方法,在TableLayout中添加一下代码,
android:collapseColumns="0"
代码如下所示:
注意:属性中设置列号的时候是从0,1,2,3 ....
不是1,2,3...
补充:移动开发 , Android ,