TableLayout 和 GridLayout 的区别
一. TableLayout
- 继承LinearLayout
- 不需要明确的申明包含多少行多少列
- 通过添加 TableRow / 其他组件 来控制表格的行数和列数
- 单元格设置格式有3种:Shrinkable(可收缩),Stretchable(可拉伸),Collapsed(隐藏的)
运用TableLayout只能通过添加TableRow或者组件来增加行和列。当直接添加组件的时候,组件独自占用一行。当添加TableRow时,该布局增加了一行,并且在TableRow里每添加一个组件,便增加一列。
TableLayout无法做出跨行跨列的效果,每行每列都是挨着的,就算是单元格设置Collapsed属性,如果后面有组件,也会填充上来。
<!--定义一个表格布局,指定第2 列可收缩,第3 列隐藏,第4列可拉伸-->
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table01"
android:shrinkColumns="1"
android:collapseColumns="2"
android:stretchColumns="3">
<!--直接添加一个按钮,会直接占用一行-->
<Button android:id="@+id/ok1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="独自一行的按钮ok1"/>
<!--在TableRow添加加一个按钮,会添加一列-->
<TableRow>
<Button android:id="@+id/ok2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通按钮"/>