一. 简介
TableLayout是将子类向分别排列成行和列的布局视图容器,TableLayout是由许多TableRow对象组成的,表格布局以行列的形式管理子控件,每一个单元是一个TableRow或者View对象。
在TableLayout中可以通过setConlumnShrinkable()
或setConlumnStretchable()
方法来指定某些列为可以缩小或可伸缩,列是从0开始计数的,第一列为0。
二. Xml方式
1. 所有的布局共有的属性
① View在左上右下四个方向和其他View之间的距离,值是 dp
1 | android:layout_marginStart (android:layout_marginLeft) |
② View内部元素到View左上右下边框之间的距离,值是 dp
1 | android:paddingStart (android:paddingLeft) |
③ 容器 内部的对齐方式 以及 容器相对于父容器的对齐方式
1 | android:gravity //设置布局管理器内组件的对齐方式 |
2. TableLayout
① 拉伸列
stretchColumns
设置运行被拉伸的列的序号,如果要所有列一起填补空白,则用*
符号,列号都是从0开始算的。
上图中按钮2被拉伸来替补空白。
② 收缩列
shrinkColumns
设置被收缩的列的序号 ,收缩是用于在一行中列太多或者某列的内容文本过长,会导致某列的内容会被挤出屏幕,这个属性是可以帮助某列的内容进行收缩,用于防止被挤出的。
上图中又在上面布局添加按钮5,此时 android:shrinkColumns="1"
,按钮2被收缩了。
③ 隐藏列
collapseColumns
设置需要被隐藏的列的序号 使用该属性可以隐藏某列。
上图中在上面的布局中添加 android:collapseColumns="1"
,原来的按钮2被隐藏了。
④ 控制列
layout_column
为该子类控件显示在第几列。android:layout_column="2"
表示跳过第二个,直接显示在第三个单元格内。
⑤ 合并列
layout_span
为该子类控件占据第几列。android:layout_span="3"
表示合并3个单元格,就是这个组件将占据3个单元格。