一个表格布局(Table Layout)正是你所期待的:由行和列组成的网格,且每个单元格能显示一个视图控件。从一个用户界面设计角度来看,一个表格布局(Table Layout)由TableRow控件组成-在你的表格中一行。TableRow的内容只是盛放表格中每个单元格的视图控件。
表格布局(Table Layout)的外观是由几个附加规则来管理的。首先,整个表格的列数要匹配表格中最多列数的那行的列数。第二,每一列的宽度应该用在列中最宽的内容来定义。表格布局(Table Layout)中的行和单元格的宽度属性一般设置为MATCH_PARENT。表格布局(Table Layout)中单元格的layout_height属性也可以被定义,但是TableRow的layout_height属性总是为WRAP_CONTENT。单元格可以跨越列,而不能是行。这是通过设置一个TableRow的子视图的layout_span属性来是实现的。
一个单元格是一个TableRow中的单独的子视图。如果你想要一个更复杂的多视图单元格,使用一个布局来把其他视图装进去。
也就是说,有的规则是可以修改的。列可以被标记为可伸缩的,这意味着它的宽度可以扩展到父容器尺寸。列可以标记为可收缩的,这意味着他们可以减少行宽来使得整个行来适应父容器提供的空间。
表格布局(Table Layout)的完整文档,可以到Android SDK文档来查看TableLayout类。用于XML资源文件的相关XML属性也同样在文档定义了。