Android学习之表格布局

Android学习之表格布局 表格布局Tablelayout表格布局与常见的表格类似它以行、列的形式来管理放入其中的视图表格布局使用TableLayout标记定义在布局中可以添加多个TableRow标记每个TableRow标记占用一行由于TableRow标记也是容器所以在该标记中还可以添加其他视图在TableRow标记中每添加一个视图表格就会增加一列。在表格布局中列可以被隐藏也可以被设置为伸展从而填充可利用的屏幕空间也可设置为强制收缩直到表格匹配屏幕大小。如果在表格布局TableLayout中直接添加视图那么这个视图将独占一行。表格布局TableLayout继承了线性布局LinearLayout所以表格布局完全支持线性布局所支持的全部XML属性。TableLayout的列数等于含有最多子控件的TableRow的列数。如第一行TableRow含2个子控件第二行TableRow含3个第三行TableRow含4个那么这个表格布局的列数就是4列。TableLayout可设置的属性表格布局可以设置的属性有两种全局属性、单元格属性。全局属性列属性 全局属性有三个属性Android:stretchColumns 设置可伸展的列让列填满表格剩余宽度。该列可以向行方向伸展最多可占据一整行。Android:shrinkColumns 设置可收缩的列内容太长自动换行 / 缩小。当该列子控件里的内容太多行内显示不完的时候会向列的方向显示内容。Android:collapseColumns 设置要隐藏的列。例如Android:stretchColumns”0″ 第0列可伸展Android:stretchColumns”*″ *伸展全部列Android:shrinkColumns”1,2″ 第1,2列皆可收缩Android:collapseColumns”1″ 隐藏第一行单元格属性有两个Android:layout_column 指定该单元格在第几列显示Android:layout_span 指定该单元格占据的列数如果我们在使用中没有指定那么默认值将为1例如Android:layout_column”1″ 该控件在第1列Android:layout_span”2″ 该控件占了2列?xml version1.0 encodingutf-8? TableLayout xmlns:androidhttp://schemas.android.com/apk/res/android android:layout_widthmatch_parent android:layout_heightmatch_parent Button android:layout_widthwrap_content android:layout_heightwrap_content android:text第一个按钮 / TableRow android:layout_marginTop50dp Button android:layout_widthwrap_content android:layout_heightwrap_content android:text第一个按钮 / Button android:layout_widthwrap_content android:layout_heightwrap_content android:text第二个按钮 android:layout_span2/ /TableRow TableRow android:layout_marginTop10dp android:layout_marginStart20dp Button android:layout_width0dp android:layout_heightwrap_content android:layout_weight1 android:text第三个按钮 / Button android:layout_width0dp android:layout_heightwrap_content android:layout_weight1 android:text第四个按钮 / Button android:layout_width0dp android:layout_heightwrap_content android:layout_weight1 android:text第五个按钮 / /TableRow TableRow Button android:layout_widthwrap_content android:layout_heightwrap_content android:layout_marginTop20dp android:text第6个按钮 / Button android:layout_widthwrap_content android:layout_heightwrap_content android:layout_marginLeft15dp android:text第7个按钮 / Button android:layout_widthwrap_content android:layout_heightwrap_content android:text第8个按钮 / /TableRow /TableLayout