Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android UI基礎——五大布局

Android UI基礎——五大布局

編輯:關於Android編程

一個豐富的界面是由很多個控件組成的,如何讓各個控件都有條不紊的擺放在介面上,這就需要布局來實現了,布局可以說是一種容器,可以按照一定規律調整控件的位置,布局之內也可以放置布局,完成一些復雜的界面。常用的布局有以下五種:
LinearLayout——線性布局
RelativeLayout——相對布局
FrameLayout——幀布局
TableLayout——表格布局
AbsoluteLayout——絕對布局(基本不用)
4.0版本新特性:
GridLayout——網格布局


1.LinearLayout

線性布局,其中的控件會自動按照水平或垂直的方式依次排列。

(1)android:orientation屬性:指定其排列方向,vertical代表垂直排列,horizontal代表水平排列,如果不定義的話,默認為horizontal。下面根據代碼可以看看具體效果。

注釋:wrap_content:表示控件占用自身大小的空間
match_parent:表示控件占滿其父控件,在早期版本中叫做fill_parent

這裡寫圖片描述這裡寫圖片描述vcq9tcSjrL/J0aHWtbD8wKh0b3CjrCBib3R0b22jrCBsZWZ0IKOsIHJpZ2h0o6wgY2VudGVyX3ZlcnRpY2Fso6wgZmlsbF92ZXJ0aWNhbKOsIGNlbnRlcl9ob3Jpem9udGFso6wgZmlsbF9ob3Jpem9udGFso6wgY2VudGVyo6wgZmlsbCCjrCBjbGlwX3ZlcnRpY2Fso6wgY2xpcF9ob3Jpem9udGFsIKOsIHN0YXJ0o6wgZW5koaO4+b7d0uLLvL/J1qq1wMrH1PXR+bXEttTG67e9yr2jrLTLtKayu9TZvfjQ0LT6wuvS1LywzbzGrNW5yr7By6GjPGJyIC8+DQo8c3Ryb25nPigzKWFuZHJvaWQ6bGF5b3V0X3dlaWdodLrNd2VpZ2h0U3VtyvTQ1Dwvc3Ryb25nPjxiciAvPg0KTGluZWFyTGF5b3V0zNjT0LXEyvTQ1KGjy/yx7cq+scjW2LXE0uLLvKOsv8nKtc/WsNm31rHIsry+1jxiciAvPg0Kd2VpZ2h00uLS5c6qv9i8/rC01dWxyMD9t9bF5Li4v9i8/sqj0+C/2Lz+o6yi2cjnufvBvbj2v9i8/rXEv+22yLa8zqptYXRjaF9wYXJlbnQsuLi/2Lz+tcTKo9Pgv9i8/s6quLrK/aOssLSxyMD9t9bF5L7Nu+HP1Mq+zqq3tLHIwP2ho6LayOe5+7C01dXRz7jxtcSxyMD9t9bF5LXEu7DH67iz1rXOqjBkcKGjPGJyIC8+DQp3ZWlnaHRTdW3S4tLlzqqxyNbYus2jrMno1sO6w9fctcSxyNbYt93K/aOsv8nS1NTa19O/2Lz+1tDJ6NbD1byxyNbYus21xLfdyv2ho7T6wuvI58/Co7o8L3A+DQo8cHJlIGNsYXNzPQ=="brush:java;">

這裡寫圖片描述

這裡寫圖片描述
(4)android:layout_marginxxx 和 android:layout_paddingxxx屬性
xxx可代表:Bottom,End,Left, Right, Start, Top
margin表示的是view的邊緣與臨近控件的邊緣的距離
padding 填充的意思,指的是view中的content與view邊緣的距離。
簡單地說,margin指的是外部離開的距離,padding指的是內部離開的距離。
(5)android:visibility屬性
Android開發中,大部分控件都有visibility這個屬性,其屬性有3個分別為“visible (可見)”、“invisible(不可見)”、“gone(隱藏)”。主要用來設置控制控件的顯示和隱藏。

2.RelativeLayout

相對布局中的視圖組件是按相互之間的相對位置來確定的,四套相對屬性,①相對父控件位置,②相對父控件居中方式,③相對子控件位置,④相對子控件邊緣對齊
(1)android:layout_alignParentxxx(與父控件邊緣對齊)

這裡寫圖片描述
(2)android:layout_centerxxx(與父控件中心對齊)
(3)android:layout_toxxxof和android:layout_above(below)(子控件與子控件對齊
(2)(3)例結合在一起進行代碼和圖片的展示

這裡寫圖片描述
(4)android:layout_alignxxx(子控件與子控件邊緣對齊)

這裡寫圖片描述

3.FrameLayout

幀布局中的每一個組件都代表一個畫面,是一層一層覆蓋的。
默認以屏幕左上角作為(0, 0)坐標,按組件定義的先後順序依次逐屏顯示,後面出現的會覆蓋前面的畫面。控件可以通過android:layout_gravity屬性控制自己在父控件中的位置。

<framelayout android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"></framelayout>

這裡寫圖片描述

4.TableLayout

TableLayout屬於行和列形式的管理控件,每行為一個TableRow對象,也可以是一個View對象。
在TableRow中還可以繼續添加其他的控件,每添加一個子控件就成為一列。TableLayout不會生成邊框。
(1)android:collapseColumns:隱藏某一列
(2)android:shrinkColumns=“0,1,2…”:收縮哪幾列達到充滿(用在所有列自適應超出屏幕)
(3)android:stretchColumns=“0,1,2…”:擴充哪幾列(用在所在列自適應後未充滿的情況)
(4)android:layout_span :跨列

5.AbsoluteLayout

因為該布局是采用坐標的形式來進行布局定位的,布局的dp都是固定的,以至於在不同分辨率的手機上顯示的布局大小不同造成差異,因此Android中很少有采用這種布局方式的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved