转自:http://www.cnblogs.com/zhangs1986/archive/2013/01/17/2864536.html

TableLayout(表格布局)

表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。TableRow可以添加子控件,每添加一个为一列。

TableLayout属性:

  android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。

  android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。

  android:shrinkColumns:设置指定的列为可收缩的列。当可收缩的列太宽(内容过多)不会被挤出屏幕。当需要设置多列为可收缩时,将列序号用逗号隔开。

 列元素(Button)属性:(奇怪的是button 里面没有android:layout_column 和android:layout_span两个属性,写进去无反应,还不知道为什么)

  android:layout_colum:设置该控件在TableRow中指定的列

  android:layout_span:设置该控件所跨越的列数

图片:

代码:

  1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 xmlns:tools="http://schemas.android.com/tools"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical"
6 tools:context=".AndroidTableLayoutActivity" >
7
8 <!-- 定义第一个表格,指定第2列允许收缩,第3列允许拉伸 -->
9
10 <TableLayout
11 android:id="@+id/tablelayout01"
12 android:layout_width="match_parent"
13 android:layout_height="wrap_content"
14 android:shrinkColumns="1"
15 android:stretchColumns="2" >
16
17 <!-- 直接添加按钮,自己占用一行 -->
18
19 <Button
20 android:id="@+id/btn01"
21 android:layout_width="wrap_content"
22 android:layout_height="wrap_content"
23 android:text="独自一行" >
24 </Button>
25
26 <TableRow>
27
28 <Button
29 android:id="@+id/btn02"
30 android:layout_width="wrap_content"
31 android:layout_height="wrap_content"
32 android:text="普通" >
33 </Button>
34
35 <Button
36 android:id="@+id/btn03"
37 android:layout_width="wrap_content"
38 android:layout_height="wrap_content"
39 android:text="允许被收缩允许被收缩允许被收缩允许被收缩" >
40 </Button>
41
42 <Button
43 android:id="@+id/btn04"
44 android:layout_width="wrap_content"
45 android:layout_height="wrap_content"
46 android:text="允许被拉伸" >
47 </Button>
48 </TableRow>
49 </TableLayout>
50 <!-- 定义第2个表格,指定第2列隐藏 -->
51
52 <TableLayout
53 android:id="@+id/tablelayout02"
54 android:layout_width="match_parent"
55 android:layout_height="wrap_content"
56 android:collapseColumns="1" >
57
58 <TableRow>
59
60 <Button
61 android:id="@+id/btn05"
62 android:layout_width="wrap_content"
63 android:layout_height="wrap_content"
64 android:text="普通" >
65 </Button>
66
67 <Button
68 android:id="@+id/btn06"
69 android:layout_width="wrap_content"
70 android:layout_height="wrap_content"
71 android:text="被隐藏列" >
72 </Button>
73
74 <Button
75 android:id="@+id/btn07"
76 android:layout_width="wrap_content"
77 android:layout_height="wrap_content"
78 android:text="允许被拉伸" >
79 </Button>
80 </TableRow>
81 </TableLayout>
82 <!-- 定义第3个表格,指定第2列填满空白-->
83
84 <TableLayout
85 android:id="@+id/tablelayout03"
86 android:layout_width="match_parent"
87 android:layout_height="wrap_content"
88 android:stretchColumns="1"
89 >
90
91 <TableRow>
92
93 <Button
94 android:id="@+id/btn08"
95 android:layout_width="wrap_content"
96 android:layout_height="wrap_content"
97 android:text="普通" >
98 </Button>
99
100 <Button
101 android:id="@+id/btn09"
102 android:layout_width="wrap_content"
103 android:layout_height="wrap_content"
104 android:text="填满剩余空白" >
105 </Button>
106 </TableRow>
107 </TableLayout>
108 <!-- 定义第3个表格,指定第2列横跨2列-->
109
110 <TableLayout
111 android:id="@+id/tablelayout04"
112 android:layout_width="match_parent"
113 android:layout_height="wrap_content"
114 >
115
116 <TableRow>
117
118 <Button
119 android:id="@+id/btn10"
120 android:layout_width="wrap_content"
121 android:layout_height="wrap_content"
122 android:text="普通" >
123 </Button>
124
125 <Button
126 android:id="@+id/btn11"
127 android:layout_column="2"
128 android:layout_width="wrap_content"
129 android:layout_height="wrap_content"
130 android:text="填满剩余空白" >
131 </Button>
132 </TableRow>
133 </TableLayout>
134 </LinearLayout>

作者:欢醉 
出处:http://www.cnblogs.com/zhangs1986/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

【转】TableLayout(表格布局)的更多相关文章

  1. Android零基础入门第29节:善用TableLayout表格布局,事半功倍

    原文:Android零基础入门第29节:善用TableLayout表格布局,事半功倍 前面学习了线性布局和相对布局,线性布局虽然方便,但如果遇到控件需要排列整齐的情况就很难达到要求,用相对布局又比较麻 ...

  2. Android布局-TableLayout表格布局

    一.表格布局-TableLayout 1.概念 表格布局采用行列的形式来管理UI的控件.表格布局适合于有规则的布局. TableRow,用来管理行,TableRow中的一个空间占据该行的一列.若不用T ...

  3. 案例:TableLayout表格布局——迷你计算器

    计算器可以常用线性布局(LinearLayout)和表格布局(tableLayout).Gridlayout 今天我用的是表格布局 效果如下: 代码如下: <TableLayout xmlns: ...

  4. TableLayout(表格布局)

    表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象.TableRow可以添加子控件,每添加一个为一列. TableLayout属性: android ...

  5. 2.2.3 TableLayout(表格布局)

    3.如何确定行数与列数 ①如果我们直接往TableLayout中添加组件的话,那么这个组件将占满一行!!! ②如果我们想一行上有多个组件的话,就要添加一个TableRow的容器,把组件都丢到里面! ③ ...

  6. android的布局-----TableLayout(表格布局)

    学习导图 (1)TableLayout的相关简介 java的swing编程和html中经常会使用到表格,可见表格的应用开发中使用还是比较多的,同样android也为我们提供这样的布局方式. (2)如何 ...

  7. TableLayout表格布局

    1.本节学习路线图 路线图分析: 从上面的路线图,可以看出TableLayout的用法还是很简单的,无非就是确定表格的行数,以及使用 那三个属性来设置每一行中的第某列的元素隐藏,拉伸,或者收缩即可! ...

  8. Android之TableLayout表格布局

    1.相关属性 1.1.常用属性 android:collapseColumns 设置需要被隐藏的列的序列号 android:shrinkColumns 设置允许被收缩的列的序列号 android:st ...

  9. TableLayout表格布局详解

    一.Tablelayout简介 Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件.当为TableRow对象时,可在TableRow下添加子控件 ...

随机推荐

  1. 【BZOJ】1468: Tree(点分治)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1468 分治真是一门高大上的东西... 好神... 树分治最好资料是:qzc的<分治算法在树的路 ...

  2. Nginx location 匹配规则

    1. default_server: 当请求没有匹配到服务器中配置的任何一个server的时候,会默认把请求route到配置了default_server的virtual host中.参考地址:htt ...

  3. currentRowChanged 的注意事项

    Qt中的表单控件QListWidget类提供了许多信号函数,可以和用户交互,其中有个currentRowChanged ( int currentRow ) 是检测当前选中行是否发生了改变,如果改变了 ...

  4. 三、saltstack证书管理

    192.168.1.65 super65.cn   master192.168.1.66 super66.cn   minion saltstack使用SSL签证的方式进行安全认证. minion上线 ...

  5. ubuntu 14.04安装

    最近想搞spark.没有集群环境,想先在单机上跑.但是两年前一直用到现在的virtualbox已经太老,很多源都停更了.所以准备装ubuntu14.04. 0. 更新源.163的源有问题,用的是soh ...

  6. [GE]导入图片至Word,然后按规则命名(2/2)

    #将所有docx文件改成可读 Set-ItemProperty -Path "e:\screenshot\*.docx" -Name IsReadOnly -Value $fals ...

  7. LiveUpdate Adminstrator配置手册

    第一种模式: LUA 从Symantec官网LiveUpdate服务器下载更新. .登陆LUA控制台 图1 .添加Symantec Endpoint Protecton v11.0 图2 3. 查看源 ...

  8. html5_d登陆界面_注册界面

    <!DOCTYPE html><html><head><script type="text/javascript">function ...

  9. sqlite相关工具使用

    sqlite3可视化工具 1.sudo apt-get install sqlitebrowser 2.sudo apt-get install sqliteman3.sqlitestudio需要去官 ...

  10. HTTP 笔记与总结(5)socket 编程:使用 HTTP 协议模拟登录并发帖

    在 VeryCD 上注册两个帐号,发送和接收站内信,观察 POST 请求时发送的参数(h****2 发送给 d***2).(最好用 FireFox 的 FireBug 工具,发送站内信之前选中 “保持 ...