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