说明
TableLayout 是一个用来以行或者列方式来显示子View的视图组。TableLayout不显示行、列或者单元格的边框线。一个表可以留空多个单元格,也可以跨越多列,这个与html类似
TableRow
TabRow是 TableLayout
的子View,用来表示一行,此元素下可以定义多个单元格来包含其它元素,单元格又可以嵌套 TableLayout
约束
- 列的宽度由该列中最宽单元格的行定义
TableLayout
子类不能指定 layout_width
属性,宽度值一直为 MATCH_PARENT
layout_height
属性可以由子类进行设置,默认值为 WRAP_CONTENT
;如果子类是 TableRow
,则其高度值一直为 WRAP_CONTENT
常用属性
android:collapseColumns
基于索引0来隐藏列,多个值用英文逗号分隔,例如配置为1,则隐藏第2列
table中的列索引从0开始计数,如果不指定,则自动增加
android:shrinkColumns
基于索引0来收缩列
android:stretchColumns
基于索引0来拉升列
示例
效果图
代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="1">
<TableRow>
<TextView
android:layout_column="1"
android:text="Open..."
android:padding="3dip" />
<TextView
android:text="Ctrl-O"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:layout_column="1"
android:text="Save..."
android:padding="3dip" />
<TextView
android:text="Ctrl-S"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:layout_column="1"
android:text="Save As..."
android:padding="3dip" />
<TextView
android:text="Ctrl-Shift-S"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF909090" />
<TableRow>
<TextView
android:text="X"
android:padding="3dip" />
<TextView
android:text="Import..."
android:padding="3dip" />
</TableRow>
<TableRow>
<TextView
android:text="X"
android:padding="3dip" />
<TextView
android:text="Export..."
android:padding="3dip" />
<TextView
android:text="Ctrl-E"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF909090" />
<TableRow>
<TextView
android:layout_column="1"
android:text="Quit"
android:padding="3dip" />
</TableRow>
</TableLayout>
|
因为在 TableLayout 中设置了 android:stretchColumns="1"
属性来拉升第一列,可以看到第一列的宽度最宽