<? 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 = "wrap_content" android:stretchColumns = "0,1,2" android:shrinkColumns = "1,2" > <TextView android:text = "Table Test" android:gravity = "center" /> <TableRow> <TextView android:layout_column = "1" android:text = "姓名" android:gravity = "center" /> <TextView android:text = "基本信息" android:gravity = "center" /> </TableRow> <TableRow> <TextView android:text = " 1 " android:gravity = "center" /> <TextView android:text = "hoyah" android:gravity = "left" /> <TextView android:text = "Wuhan University" android:gravity = "right" /> </TableRow> <TableRow> <TextView android:text = " 2 " android:gravity = "center" /> <TextView android:text = "Google" android:gravity = "left" /> <TextView android:text = "hello Google" android:gravity = "right" /> </TableRow> <TableRow> <TextView android:text = "3" android:gravity = "center" /> <TextView android:text = "Android" android:gravity = "left" /> <TextView android:text = "Android OS" android:gravity = "right" /> </TableRow> </TableLayout>

布局講解:
android:collapse = "1隱藏該TableLayout里的TableRow的列1,即第2列(從0開始計算),若有多列要隱藏,用“,”隔開。
android:stretchColumns = "0,1,2"設置列0、1、2為可伸展列。
android:shrinkColumns = "1,2"設置列1、2為可收縮列。
android:background = "@drawable/picture_name"本例中沒有涉及此屬性,它是要設置當前view 的背景圖片,圖片文件應該放在res文件夾下。
接著我們再看看android官方文檔中給出的例子:
<? 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" 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>效果圖如下,大家可以上機調試一下:
今天的主要工作是調節UI,在設置TextView的左右間距時,發現設置TextView的paddingLeft和paddingRight后毫無效果,并且設置TextView的layout_width也沒有作用。一直糾結于此,當檢查父布局TableLayout的屬性時,發現其中有這么兩行:
android:stretchColumns="1" android:shrinkColumns="1"這兩個屬性是TableLayout所特有的,也是這兩個屬性影響了子對象的布局。由于表格布局比較特殊,Android IT在此為大家詳細介紹一下它的布局方式:
表格布局是按照行列來組織子視圖的布局。表格布局包含一系列的Tabrow對象,用于定義行(也可以使用其它子對象)。表格布局不為它的行、列和單元格顯示表格線。每個行可以包含個以上(包括)的單元格; 每個單元格可以設置一個View對象.與行包含很多單元格一樣, 表格包含很多列。表格的單元格可以為空。
列的寬度由該列所有行中最寬的一個單元格決定.不過表格布局可以通過shrinkColumns和 stretchColumns兩個屬性來標記某些列可以收縮或可以拉伸. 如果標記為可以收縮,列寬可以收縮以使表格適合容器的大小。如果標記為可以拉伸, 列寬可以拉伸以占用多余的空間。表格的總寬度由其父容器決定. 記住列可以同時具有可拉伸和可收縮屬性。最后,你還可以通過設置collapseColumns屬性來隱藏列。
表格布局的子對象不能指定android:layout_width屬性.寬度永遠是"match_parent"。不過子對象可以定義 android:layout_height屬性;其默認值是wrap_content. 如果子對象是TableRow,其高度永遠是wrap_content。
雖然表格布局典型的子對象是表格行,實際上你可以使用任何視圖類的子類, 作為表格視圖的直接子對象.視圖會作為只有一行并結合了所有列的單元格顯示。stretchColumns="1"(TextView拉伸):stretchColumns="0"(左邊拉伸):
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
