Android开发之TableLayout表格布局

时间:2022-02-12 07:22:49

表格布局模型以行列的形式管理子控件,每一行为一个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:设置该控件所跨越的列数。

图片:

Android开发之TableLayout表格布局

代码:

?
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   tools:context=".androidtablelayoutactivity" >
 
   <!-- 定义第一个表格,指定第2列允许收缩,第3列允许拉伸 -->
 
  <tablelayout
    android:id="@+id/tablelayout01"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:shrinkcolumns="1"
    android:stretchcolumns="2" >
 
    <!-- 直接添加按钮,自己占用一行 -->
 
    <button
      android:id="@+id/btn01"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="独自一行" >
    </button>
 
    <tablerow>
 
      <button
        android:id="@+id/btn02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通" >
      </button>
 
      <button
        android:id="@+id/btn03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="允许被收缩允许被收缩允许被收缩允许被收缩" >
      </button>
 
      <button
        android:id="@+id/btn04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="允许被拉伸" >
      </button>
    </tablerow>
  </tablelayout>
  <!-- 定义第2个表格,指定第2列隐藏 -->
 
  <tablelayout
    android:id="@+id/tablelayout02"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:collapsecolumns="1" >
 
    <tablerow>
 
      <button
        android:id="@+id/btn05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通" >
      </button>
 
      <button
        android:id="@+id/btn06"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="被隐藏列" >
      </button>
 
      <button
        android:id="@+id/btn07"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="允许被拉伸" >
      </button>
   </tablerow>
  </tablelayout>
  <!-- 定义第3个表格,指定第2列填满空白-->
 
  <tablelayout
    android:id="@+id/tablelayout03"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchcolumns="1"
     >
 
    <tablerow>
 
      <button
        android:id="@+id/btn08"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通" >
     </button>
 
      <button
        android:id="@+id/btn09"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       android:text="填满剩余空白" >
     </button>
    </tablerow>
  </tablelayout>
 <!-- 定义第3个表格,指定第2列横跨2列-->
 
  <tablelayout
    android:id="@+id/tablelayout04"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
 
    <tablerow>
 
     <button
        android:id="@+id/btn10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通" >
      </button>
      
      <button
        android:id="@+id/btn11"
       android:layout_column="2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="填满剩余空白" >
      </button>
   </tablerow>
  </tablelayout>
</linearlayout>

希望本文所述对大家学习android软件编程有所帮助。