Android中的表格布局详解
1.TableLayout简介
- Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。
- 当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。
- 当为View时,该View将独占一行
2.如何确定行数和列数
- 如果我们直接往TableLayout中添加组件的话,那么这个组件将占满一行!!!
- 如果我们想一行上有多个组件的话,就要添加一个TableRow的容器,把组件都丢到里面!
- tablerow中的组件个数就决定了该行有多少列,而列的宽度由该列中最宽的单元格决定
- tablerow的layout_width属性,默认是fill_parent的,我们自己设置成其他的值也不会生效!!! 但是layout_height默认是wrapten——content的,我们却可以自己设置大小!
- 整个表格布局的宽度取决于父容器的宽度(占满父容器本身)
- 有多少行就要自己数啦,一个tablerow一行,一个单独的组件也一行!多少列则是看tableRow中 的组件个数,组件最多的就是TableLayout的列数
3.三个常用属性
- android:stretchColumns设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。
- android:shrinkColumns 设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。
- android:collapseColumns 设置要隐藏的列。
以上这三个属性的列号都是从0开始算的,比如shrinkColunmns = “2”,对应的是第三列!
可以设置多个,用逗号隔开比如”0,2”,如果是所有列都生效,则用”*”号即可
除了这三个常用属性,还有两个属性,分别就是跳格子以及合并单元格,这和HTML中的Table类似:
android:layout_column=”2”:表示的就是跳过第二个,直接显示到第三个格子处,从1开始算的!
android:layout_span=”4”:表示合并4个单元格,也就说这个组件占4个单元格