一、特性
- 如果我们直接往
TableLayout
中添加组件的话,那么这个组件将占满一行 - 如果我们想一行上有多个组件的话,就要添加一个
TableRow
的容器,把组件都丢到里面 -
TableRow
中的组件个数就决定了该行有多少列,而列的宽度由该列中最宽的单元格决定 -
TableRow
的默认宽度是match_parent
且,高度默认是wrap_content
且可以更改 - 整个表格布局的宽度取决于父容器的宽度(占满父容器本身)
- 一个
TableRow
代表一行,一个单独的组件也是一行!多少列则是看TableRow
中的组件个数,组件最多的就是TableLayout
的列数
二、属性
android:collapseColumns【表级属性】
隐藏指定列,android:collapseColumns="0,1"
表示隐藏第0,1列。*
表示所有列。android:shrinkColumns【表级属性】
缩短指定列,android:shrinkColumns="0,1"
表示缩短第0,1列。*
表示所有列。
只有本行空间不够时才会缩短,空间足够则不会缩短android:stretchColumns【表级属性】
拉伸指定列,android:stretchColumns="0,1"
表示拉伸第0,1列。*
表示所有列。
只有本行空间有剩余时才会拉伸,否则不会拉伸。拉伸的列会占据本行所有剩余空间android:layout_column【列级属性】
该元素作用于元素上,用于指定该元素所在的位置。android:layout_column="3"
表示将该元素置于第3列(下标从0开始),该元素后面的元素依次往后排列
指定位置不能往前指定(无效),只能往后指定。-
android:layout_span【列级属性】
作用于列级元素上,表示该元素占据的列数。android:layout_span="2"
表示该元素将会占据两列的空间。
- 如果整个表格最多有3列,而本元素所在行恰好也是3列,则该属性会失效。
- 该属性不能作为隐藏元素的功能使用,即为该属性赋值0,该元素也不会消失