表格布局模型以行列的形式管理子控件,每一行为一个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>

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

  1. 【转】TableLayout(表格布局)

    转自:http://www.cnblogs.com/zhangs1986/archive/2013/01/17/2864536.html TableLayout(表格布局) 表格布局模型以行列的形式管 ...

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

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

  3. Android布局-TableLayout表格布局

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

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

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

  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. ahjesus C# 4.0 Parallel 并行运算

    Parallel.For - for 循环的并行运算 Parallel.ForEach - foreach 循环的并行运算 Parallel.Invoke - 并行调用多个任务 Task - 任务,基 ...

  2. Ahjesus获取自定义属性Attribute或属性的名称

    1:设置自己的自定义属性 public class NameAttribute:Attribute { private string _description; public NameAttribut ...

  3. ASP.NET 5新特性

    近期微软发布了ASP.NET 5.0,本次发布的新特性需求源于大量用户的反馈和需求,例如灵活的跨平台运行时和自主部署能力使ASP.NET应用不再受限于IIS.Cloud-ready环境配置降低了云端部 ...

  4. dapper的增、删、查改的CodeSmith模板

    <%@ Template Language="C#" TargetLanguage="Text" %> <%@ Property Name=& ...

  5. jquery实现拖拽以及jquery监听事件的写法

    很久之前写了一个jquery3D楼盘在线选择,这么一个插件,插件很简单,因为后期项目中没有实际用到,因此,有些地方不是很完善,后面也懒得再进行修改维护了.最近放到github上面,但是也少有人问津及s ...

  6. Device Channels in SharePoint 2013

    [FROM:http://blog.mastykarz.nl/device-channels-sharepoint-2013/] One of the new features of SharePoi ...

  7. sublime text 3 安装

    sublime text 3 下载地址 http://www.sublimetext.com/3 下载windows版本,然后解压缩就可以直接使用了,不错不错哦, 为了更加便捷的管理,安装 packa ...

  8. Android-AsyncTask异步任务(获取手机联系人)

    本篇随笔将讲解一下Android的多线程的知识,以及如何通过AsyncTask机制来实现线程之间的通信. 一.Android当中的多线程 在Android当中,当一个应用程序的组件启动的时候,并且没有 ...

  9. 【读书笔记】iOS-使用应用内支付注意事项

    一,iOS端开发. 如果购买成功,我们需要将凭证发送到服务器上进行验证.考虑到网络异常情况,iOS端的发送凭证操作应该可以持久化,如果程序退出,崩溃或网络异常,可以恢复重试. 二,服务器端开发. 服务 ...

  10. mybatis实战教程(mybatis in action),mybatis入门到精通(转)

    转自:http://www.yihaomen.com/article/java/302.htm (读者注:其实这个应该叫做很基础的入门一下下,如果你看过Hibernate了那这个就非常的简单) (再加 ...