search
善用TableLayout表格布局,事半功倍

善用TableLayout表格布局,事半功倍

前面學習了線性布局和相對布局,線性布局雖然方便,但如果遇到控制項需要排列整齊的情況就很難達到要求,用相對布局又比較麻煩,為此Android系統中提供了表格布局。

一、認識TableLayout

表格布局就是讓控制項以表格的形式來排列控制項,只要將控制項放在單元格中,控制項就可以整齊地排列,使用TableLayout標籤。

TableLayout繼承了 LinearLayout,因此它的本質依然是線性布局管理器。每次向TableLayout中添加一個TableRow,該TableRow就是一個表格行,TableRow也是容器,因此它也可以不斷地添加其他組件,每添加一個子組件該表格就增加一列。如果直接向TableLayout中添加組件,那麼這個組件將直接佔用一行。

在表格布局中,列的寬度由該列中最寬的那個單元格決定,整個表格布局的寬度則取決於父容器的寬度(默認總是佔滿父容器本身)。

在表格布局管理器中,可以為單元格設置如下3種行為方式。

  • Shrinkable:如果某個列被設為Shrinkable,那麼該列的所有單元格的寬度可以被收縮,以保證該表格能適應父容器的寬度。

  • Stretchable:如果某個列被設為Stretchable,那麼該列的所有單元格的寬度可以被拉伸,以保證組件能完全填滿表格空餘空間。

  • Collapsed:如果某個列被設為Collapsed,那麼該列的所有單元格會被隱藏。

TableLayout繼承了 LinearLayout,因此它完全可以支持LinearLayout所支持的全部XML屬性。除此之外,TableLayout還支持如下表所示的XML屬性和相關方法。

二、示例

接下來通過一個簡單的示常式序來學習TableLayout的使用用法。

同樣使用WidgetSample工程,繼續使用app/main/res/layout/目錄下的activity_main.xml文件,在其中填充如下代碼片段:

上面頁面中定義了 3個TableLayout,3個TableLayout中粗體字代碼指定了它們對各列的控制行為。

  • 第1個TableLayout,指定第2列允許收縮,第3列允許拉伸。

  • 第2個TableLayout,指定第2列被隱藏。

  • 第3個TableLayout,指定第2列和第3列允許拉伸。

運行程序,可以看到下圖所示界面效果。

需要注意的是TableRow不需要設置寬度layout_width和高度layoutJieight,其寬度一定是match_parent,即自動填充父容器,高度一定為wrap_content,即根據內容改變高度。但對於TableRow中的其他控制項來說,是可以設置寬度和高度的,但必其須是 wrap_content 或者 fill_parent。

到此,TableLayout的示例結束,關於TableLayout的更多用法可以多動手練習。

今天就先到這裡,如果有問題歡迎留言一起探討,也歡迎加入Android零基礎入門技術討論微信群,共同成長!

此文章版權為微信公眾號分享達人秀(ShareExpert)——鑫鱻所有,若轉載請備註出處,特此聲明!

往期總結分享:

第1節:Android的前世今生

第2節:Android 系統架構和應用組件那些事

第3節:帶你一起來聊一聊Android開發環境

第4節:正確安裝和配置JDK

第5節:善用ADT Bundle

第6節:配置優化SDK Manager

第7節:搞定Android模擬器

第8節:HelloWorld,我的第一趟旅程出發點

第9節:Android實戰,不懂代碼也可以開發

第10節:開發IDE迎來Android Studio

第11節:運行Android Studio工程

第12節:熟悉Android Studio界面

第13節:Android Studio配置優化

第14節:使用高速Genymotion

第15節:掌握Android Studio項目結構

第16節:Android用戶界面開發概述

第17節:TextView屬性和方法大全

第18節:EditText的屬性和使用方法

第19節:Button使用詳解

第20節:CheckBox和RadioButton使用大全

第21節:ToggleButton和Switch使用大全

第22節:ImageView的屬性和方法大全

第23節:ImageButton和ZoomButton使用

第24節:自定義View簡單使用

第25節:簡單且最常用的LinearLayout

第26節:layout_gravity和gravity大不同

第27節:正確使用padding和margin

第28節:輕鬆掌握RelativeLayout相對布局

熱門推薦

本文由 一點資訊 提供 原文連結

一點資訊
寫了5860316篇文章,獲得23313次喜歡
留言回覆
回覆
精彩推薦