TableLayout中stretchColumns、shrinkColumns的使用方法

android:stretchColumns="1" android:shrinkColumns="1"这两个属性是TableLayout所特有的,也是这两个属性影响了子对象的布局。
表格布局是依照行列来组织子视图的布局。表格布局包括一系列的Tabrow对象,用于定义行(也能够使用其他子对象)。表格布局不为它的行、列和单元格显示表格线。每一个行能够包括个以上(包括)的单元格; 每一个单元格能够设置一个View对象.与行包括非常多单元格一样, 表格包括非常多列。表格的单元格能够为空。

列的宽度由该列全部行中最宽的一个单元格决定.只是表格布局能够通过shrinkColumns和 stretchColumns两个属性来标记某些列能够收缩或能够拉伸. 假设标记为能够收缩,列宽能够收缩以使表格适合容器的大小。假设标记为能够拉伸, 列宽能够拉伸以占用多余的空间。表格的总宽度由其父容器决定. 记住列能够同一时候具有可拉伸和可收缩属性。最后,你还能够通过设置collapseColumns属性来隐藏列。

表格布局的子对象不能指定android:layout_width属性.宽度永远是"match_parent"。只是子对象能够定义 android:layout_height属性;其默认值是wrap_content. 假设子对象是TableRow,其高度永远是wrap_content。

尽管表格布局典型的子对象是表格行,实际上你能够使用不论什么视图类的子类, 作为表格视图的直接子对象.视图会作为仅仅有一行并结合了全部列的单元格显示。android:stretchColumns="1"设置所用行的第二列为扩展列,假设有三行的话,剩余空间由第二行补齐。


同理,android:stretchColumns="0" 设置所用行的第二列为扩展列


android:shrinkColumns=“1” 设置所用行第二列为收缩列



原文地址:https://www.cnblogs.com/gcczhongduan/p/4297614.html