| 代碼如下 |
複製代碼 |
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableRow> <TextView android:text="column1" android:padding="3dip" /> <TextView android:text="column2" android:padding="3dip" /> <TextView android:text="column3" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="column11" android:visibility="invisible"/> //cell不見了 <TextView android:text="左邊的invisible" android:gravity="right" android:padding="3dip" /> <Button android:id="@+id/go" android:text="go" android:padding="3dip" /> <Button android:text="cancel" android:padding="3dip" /> </TableRow> <View //間隔線 android:layout_height="2dip" android:background="#F00" /> <TableRow> <TextView android:text="右邊的cell empty" /> <TextView android:layout_column="2" android:text="跳開empty cell" android:padding="3dip" /> </TableRow> <TableRow> <TextView android:text="合并3個儲存格" android:layout_span="3" android:gravity="center_horizontal" android:background="#FFC0C0C0" android:textColor="#f00" android:padding="3dip" /> </TableRow> </TableLayout> |
TableLayout跟TableRow是一組搭配使用的布局,TableLayout置底,TableRow在TableLayout的上面,而Button、TextView等控制項就在TableRow之上,另外,TableLayout之上也可以單獨放控制項。TableLayout是一個使用複雜的布局,最簡單的用法就僅僅是拖拉控制項做出個介面,但實際上,會經常在代碼裡使用TableLayout,例如做出表格的效果。本文主要介紹TableLayout的基本使用方法。
TableLayout經常用的屬性是:
android:collapseColumns:以第0行為序,隱藏指定的列:
android:collapseColumns該屬性為空白時,如下圖:
把android:collapseColumns=0,2————–》意思是把第0和第2列去掉,如下圖:
android:shrinkColumns:以第0行為序,自動延伸指定的列填充可用部分:
當LayoutRow裡面的控制項還沒有布滿布局時,shrinkColumns不起作用,如下圖:
設定了shrinkColumns=0,1,2,布局完全沒有改變,因為LayoutRow裡面還剩足夠的空間。
當LayoutRow布滿控制項時,如下圖:
設定設定了shrinkColumns=2,則結果如下圖,控制項自動向垂直方向填充空間:
android:stretchColumns:以第0行為序,盡量把指定的列填充空白部分:
設定stretchColumns=1,則結果如下圖,第1列被盡量填充(Button02與TextView02同時向右填充,直到TextView03被壓擠到最後邊)。
Android的TableLayout + TableRow雖然使用有點複雜,但是功能很強大。。。。。。Android提供了很多布局屬性,但是手機程式的介面沒有PC那麼花俏,所以常用的就那幾項而已。。。