亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

TableLayout(表格布局)基礎知識點詳解

2019-10-21 21:25:13
字體:
來源:轉載
供稿:網友

前面我們已經學習了平時實際開發中用得較多的線性布局(LinearLayout)與相對布局(RelativeLayout), 其實學完這兩個基本就夠用了,筆者在實際開發中用得比較多的也是這兩個,當然作為一個好學的程序猿, 都是喜歡刨根問題的,所以雖說用得不多,但是還是有必要學習一下基本的用法的,說不定哪一天能用得上呢! 你說是吧,學多點東西沒什么的,又不吃虧!好了,扯淡就扯到這里,開始這一節的學習吧,這一節我們會學習 Android中的第三個布局:TableLayout(表格布局)!

1.本節學習路線圖

TableLayout,表格布局

路線圖分析: 從上面的路線圖,可以看出TableLayout的用法還是很簡單的,無非就是確定表格的行數,以及使用那三個屬性來設置每一行中的第某列的元素隱藏,拉伸,或者收縮即可!

2.TableLayout的介紹

相信學過HTML的朋友都知道,我們可以通過< table >< tr >< td >就可以生成一個HTML的表格, 而Android中也允許我們使用表格的方式來排列組件,就是行與列的方式,就說我們這節的TableLayout! 但卻不像我們后面會講到的Android 4.0后引入的GridLayout(網格)布局一樣,直接就可以設置多少行與多少列!

3.如何確定行數與列數

①如果我們直接往TableLayout中添加組件的話,那么這個組件將占滿一行?。。?/p>

②如果我們想一行上有多個組件的話,就要添加一個TableRow的容器,把組件都丟到里面!

③tablerow中的組件個數就決定了該行有多少列,而列的寬度由該列中最寬的單元格決定

④tablerow的layout_width屬性,默認是fill_parent的,我們自己設置成其他的值也不會生效?。?!但是layout_height默認是wrapten——content的,我們卻可以自己設置大?。?/p>

⑤整個表格布局的寬度取決于父容器的寬度(占滿父容器本身)

⑥有多少行就要自己數啦,一個tablerow一行,一個單獨的組件也一行!多少列則是看tableRow中的組件個數,組件最多的就是TableLayout的列數

4.三個常用屬性

android:collapseColumns:設置需要被隱藏的列的序號
android:shrinkColumns:設置允許被收縮的列的列序號
android:stretchColumns:設置運行被拉伸的列的列序號

以上這三個屬性的列號都是從0開始算的,比如shrinkColunmns = "2",對應的是第三列!
可以設置多個,用逗號隔開比如"0,2",如果是所有列都生效,則用"*"號即可
除了這三個常用屬性,還有兩個屬性,分別就是跳格子以及合并單元格,這和HTML中的Table類似:

android:layout_column="2":表示的就是跳過第二個,直接顯示到第三個格子處,從1開始算的!
android:layout_span="4":表示合并4個單元格,也就說這個組件占4個單元格

屬性使用示例:

①collapseColumns(隱藏列)

流程:在TableRow中定義5個按鈕后,接著在最外層的TableLayout中添加以下屬性: android:collapseColumns = "0,2",就是隱藏第一與第三列,代碼如下:

<TableLayout  android:id="@+id/TableLayout2"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:collapseColumns="0,2" >  <TableRow>   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="one" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="two" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="three" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="four" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="five" />  </TableRow> </TableLayout>

運行效果圖:

TableLayout,表格布局

②stretchColumns(拉伸列)

流程:在TableLayout中設置了四個按鈕,接著在最外層的TableLayout中添加以下屬性: android:stretchColumns = "1"

設置第二列為可拉伸列,讓該列填滿這一行所有的剩余空間,代碼如下:

<TableLayout  android:id="@+id/TableLayout2"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:stretchColumns="1" >   <TableRow>    <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="one" />    <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="two" />    <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="three" />    <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="four" />      </TableRow> </TableLayout> 

運行效果圖:

TableLayout,表格布局

③shrinkColumns(收縮列)

步驟:這里為了演示出效果,設置了5個按鈕和一個文本框,在最外層的TableLayout中添加以下屬性: android:shrinkColumns = "1"

設置第二個列為可收縮列,代碼如下:

<TableLayout  android:id="@+id/TableLayout2"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:shrinkColumns="1" >  <TableRow>   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="one" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="two" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="three" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="four" />   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="five" />   <TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="文本XX" />  </TableRow> </TableLayout>

運行截圖:

TableLayout,表格布局

從圖中我們可以看到two這個按鈕被擠壓成條條狀,這個就是收縮,為了保證表格能適應父容器的寬度!至于另外兩個屬性就不講解了,用法和HTML相同!有興趣的可以研究下!

5.使用實例

使用TableLayout來完成簡單的登錄界面,運行效果圖如下:

TableLayout,表格布局

流程解析:

①調用gravity屬性,設置為center_vertical,讓布局里面的組件在豎直方向上居中

②將TableLayout中的第一和第四列設置為可拉伸

③在每個TableRow中添加兩個TextView,用于拉伸填滿該行,這樣可以讓表格水平居中

android:stretchColumns="0,3" 設置為0.3,是為了讓兩邊都充滿,那么中間部分就可以居中了

詳細代碼如下:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/TableLayout1"  android:layout_width="match_parent"  android:layout_height="match_parent"  tools:context=".MainActivity"   android:stretchColumns="0,3"  android:gravity="center_vertical"  android:background="#66FF66"  >    <TableRow>   <TextView />   <TextView     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="用戶名:"/>   <EditText     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:minWidth="150dp"/>   <TextView />  </TableRow>    <TableRow>   <TextView />   <TextView     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="密 碼:"    />   <EditText     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:minWidth="150dp"    />   <TextView />  </TableRow>    <TableRow>   <TextView />   <Button     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="登陸"/>   <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="退出"/>   <TextView />  </TableRow>   </TableLayout>

 

6.發現的問題

 

相信大家在使用這個這TableLayout的TableRow的時候會遇到這個警告:

TableLayout,表格布局

當然,程序還是可以運行的,不過或許你是強迫癥患者,看到黃色感嘆號你就不爽的話!而解決這個警告的方法也是很奇葩的:只要你的TableLayout里面有2個或以上的TableRow就可以了!

本節小結:

好的,關于Android的第三個布局:TableLayout就到這里~無非就是五個屬性的使用而已,實際開發表格布局我們用的不多,知道簡單的用法就可以了!感謝大家的學習和對VEVB武林網的支持,如果在學習中有任何問題也可以給我們留言。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av综合网站| 亚洲人成人99网站| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲高清色综合| 久久综合久中文字幕青草| 精品自在线视频| 久久99青青精品免费观看| 国产欧美在线播放| 亚洲人在线观看| 国产噜噜噜噜久久久久久久久| 国产日韩欧美成人| 日韩av在线播放资源| 国产成人av在线| 在线播放日韩专区| 91亚洲人电影| 伦理中文字幕亚洲| 欧美最近摘花xxxx摘花| 精品久久久久久久久国产字幕| 亚洲视频精品在线| 中文欧美日本在线资源| 中文字幕少妇一区二区三区| 亚洲人成电影网| 久久久久久久久久av| 亚洲欧美一区二区三区四区| 欧美黑人一级爽快片淫片高清| 日韩经典第一页| 欧美成人免费在线观看| 91色中文字幕| 欧美有码在线观看视频| 国产日韩在线看片| 国产精品视频久久久久| 欧美福利视频在线观看| 国产成人激情视频| 不卡av电影院| 国产成人精品久久久| 国产精品av免费在线观看| 亚洲一二三在线| 伊人男人综合视频网| 成人在线观看视频网站| 国产成人精品一区二区| 国产精品你懂得| www.久久久久久.com| 欧美有码在线观看| 欧美久久久精品| 中文字幕亚洲国产| 日韩视频在线观看免费| 国产精品久久综合av爱欲tv| 久久久噜噜噜久噜久久| 久久久久久999| 中文字幕成人在线| 97欧美精品一区二区三区| 欧美性猛交xxxx乱大交| 亚洲xxxxx电影| 国内成人精品视频| 亚洲精品电影网在线观看| 欧美精品久久久久久久| 国产精品99蜜臀久久不卡二区| 欧美诱惑福利视频| 日本欧美精品在线| 在线观看成人黄色| 国产成人av在线播放| 国产成人啪精品视频免费网| 97在线精品国自产拍中文| 国产欧美 在线欧美| 日韩免费视频在线观看| 国产一区二区三区精品久久久| 久久全球大尺度高清视频| 日韩精品视频在线观看网址| 日韩性生活视频| 97色在线播放视频| 成人在线一区二区| 成人在线播放av| 久久国产精品久久久久久久久久| www欧美xxxx| 精品国产一区二区三区久久久狼| 国产成人涩涩涩视频在线观看| 97视频在线免费观看| 欧美区在线播放| 精品视频在线导航| 久久久视频在线| 久久久久久噜噜噜久久久精品| 亚洲精品一区二区在线| 亚洲美女性视频| 在线播放日韩精品| 亚洲精品资源美女情侣酒店| 久久久精品免费视频| 成人黄色午夜影院| 亚洲久久久久久久久久| 91av在线免费观看| 欧美电影在线观看网站| 中文字幕亚洲欧美日韩高清| 51视频国产精品一区二区| 中文字幕一区日韩电影| 久久久久国色av免费观看性色| 美女视频久久黄| 亚洲成人在线视频播放| 亚洲午夜精品久久久久久性色| 国产亚洲欧美一区| 国产手机视频精品| 欧美国产日韩一区二区三区| 久久久999成人| 国产精品亚洲自拍| 亚洲九九九在线观看| 91欧美精品午夜性色福利在线| 欧美中文字幕视频在线观看| 亚洲自拍偷拍色图| 色综合视频网站| 亚洲全黄一级网站| 欧美一区二区.| 国产亚洲精品91在线| 成人在线视频福利| 国产一区二区黄| 亚洲护士老师的毛茸茸最新章节| 日韩中文字幕在线观看| 欧美日韩成人在线播放| 欧美高清视频在线播放| 91在线网站视频| 国产精品亚洲第一区| 久久国产精品久久久久| 亚洲国产一区二区三区在线观看| 亚洲影院在线看| 91精品久久久久久久久久入口| 欧美大胆在线视频| 亚洲欧美日韩中文在线| 97精品视频在线观看| 国产一区二区三区视频在线观看| 91视频-88av| 久久久久久69| 欧美激情乱人伦一区| 欧美精品在线免费播放| 这里精品视频免费| 国产成人精品免高潮费视频| 最新国产精品亚洲| 精品av在线播放| 日韩视频中文字幕| 国产精品中文字幕在线| 日韩午夜在线视频| 亚洲成人国产精品| 91精品国产综合久久香蕉| www.色综合| 色偷偷88888欧美精品久久久| 中文字幕v亚洲ⅴv天堂| 欧美日韩福利电影| 萌白酱国产一区二区| 成人午夜在线影院| 日本不卡高字幕在线2019| 日本三级久久久| xvideos成人免费中文版| 精品国产鲁一鲁一区二区张丽| 欧美激情精品久久久久久免费印度| 成人免费福利视频| 久久亚洲国产精品成人av秋霞| 亚洲人成在线观看网站高清| 欧美精品一区二区免费| 久久久久久久999| 亚洲美女av电影| 久久免费高清视频| 久久久这里只有精品视频| 国产精品久久9| 日韩欧美在线免费观看| 国产精品久久久久久亚洲影视| 国产精品日本精品| 亚洲一区二区三区成人在线视频精品| 亚洲欧美国产精品|