android布局管理器之TableLayout
android TableLayout布局聚承LinearLayout,所以LinearLayout的所有属性,TableLayout也适用。
TableLayout通过指定TableRow来确定表格有多少行,列数由最多列的一行决定
TableLayout比LinearLayout多了一些有用的属性:
属性名称
相关方法
说明
android:collapseColumns
setColumnCollapsed(int,boolean)
设置允许被隐藏的列的序号,多列使用逗号分隔
android:shrinkColumns
setShrinkAllColumns(boolean)
设置允许被收缩的列的序号,多列使用逗号分隔
android:stretchColumns
setStretchAllColumns(boolean)
设置允许被拉伸的列的序号,多列使用逗号分隔
下面看看相关例子,以下文章内容转载:
TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。
TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4.
TableLayout可设置的属性包括全局属性及单元格属性。
1、全局属性也即列属性,有以下3个参数:
android:stretchColumns设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。
android:shrinkColumns设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。
android:collapseColumns 设置要隐藏的列。
示例:
android:stretchColumns="0"第0列可伸展
android:shrinkColumns="1,2"第1,2列皆可收缩
android:collapseColumns="*"隐藏所有行
说明:列可以同时具备stretchColumns及shrinkColumns属性,若此,那么当该列的内容N多时,将“多行”显示其内容。(这里不是真正的多行,而是系统根据需要自动调节该行的layout_height)
2、单元格属性,有以下2个参数:
android:layout_column指定该单元格在第几列显示
android:layout_span指定该单元格占据的列数(未指定时,为1)
示例:
android:layout_column="1"该控件显示在第1列
android:layout_span="2"该控件占据2列
说明:一个控件也可以同时具备这两个特性。
TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果。本文主要介绍TableLayout的基本使用方法。
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1"
android:layout_column="0"/>
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button2"
android:layout_column="1"/>
1 android:stretchColumns = "指定的列" ------->以第0行为序,尽量把指定的列填充空白部分
设置stretchColumns=0,则结果如下图,第0列被尽量填充
设置stretchColumns=1,则结果如下图,第1列被尽量填充
2 android:shrinkColumns = "指定的列":以第0行为序,自动延伸指定的列填充可用部分
当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图
当LayoutRow里面的控件还没有布满布局时(改写一下第三个Button的内容)
3 android:collapseColumns = “指定的列”第0行为序,隐藏指定的列>
android:collapseColumns该属性为空时,如下图:
android:collapseColumns=“0”意思是把第0列去掉,如下图:
-->
点击复制链接 与好友分享!回本站首页
function copyToClipBoard(){
var clipBoardContent=document.title + '\r\n' + document.location;
clipBoardContent+='\r\n';
window.clipboardData.setData("Text",clipBoardContent);
alert("恭喜您!复制成功");
}
-->
分享到:
更多
1 android:stretchColumns = "指定的列" ------->以第0行为序,尽量把指定的列填充空白部分
设置stretchColumns=0,则结果如下图,第0列被尽量填充
设置stretchColumns=1,则结果如下图,第1列被尽量填充
2 android:shrinkColumns = "指定的列":以第0行为序,自动延伸指定的列填充可用部分
当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图
当LayoutRow里面的控件还没有布满布局时(改写一下第三个Button的内容)
3 android:collapseColumns = “指定的列”第0行为序,隐藏指定的列>
android:collapseColumns该属性为空时,如下图:
android:collapseColumns=“0”意思是把第0列去掉,如下图:
1 android:stretchColumns = "指定的列" ------->以第0行为序,尽量把指定的列填充空白部分
设置stretchColumns=0,则结果如下图,第0列被尽量填充
设置stretchColumns=1,则结果如下图,第1列被尽量填充
2 android:shrinkColumns = "指定的列":以第0行为序,自动延伸指定的列填充可用部分
当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图
当LayoutRow里面的控件还没有布满布局时(改写一下第三个Button的内容)
3 android:collapseColumns = “指定的列”第0行为序,隐藏指定的列>
android:collapseColumns该属性为空时,如下图:
android:collapseColumns=“0”意思是把第0列去掉,如下图: