標籤:
一、LinearLayout(線性布局)
提供了控制項水平垂直排列的模型,同時可以通過設定子控制項的weight布局參數控制各個控制項在布局中的相對大
小。
水平(vertical)垂直(horizontal)
fill-parent:佔滿整個螢幕
wrap-content:剛好適合控制項內容的大小
對齊gravity取值:
top:不改變大小,位置置於容器的頂部
bottom:不改變大小,位置置於容器的底部
left:不改變大小,位置置於容器的左邊
right:不改變大小,位置置於容器的右邊
center_vertical:不改變大小,位置置於容器的縱向中央部分
center_horizontal:不改變大小,位置置於容器的橫向中央部分
center:不改變大小,位置置於容器的橫向和縱向的中央部分
fill_vertical:可能的話,縱向延伸可以填滿容器
fiil_horizontal:可能的話,橫向延伸可以填滿容器
fiil:可能的話,縱向和橫向延伸填滿容器
二、AbsoluteLayout(座標布局)
可以讓子項目指定準確的x/y座標值,並顯示在螢幕上。(0, 0)為左上方,當向下或向右移動時,座標值將
變大。AbsoluteLayout沒有頁邊框,允許元素之間互相重疊(儘管不推薦)。我們通常不推薦使用
AbsoluteLayout,除非你有正當理由要使用它,因為它使介面代碼太過剛性,以至於在不同的裝置上可能
不能很好地工作。
android:layout_x="40px"
android:layout_y="56px"確定控制項位置
三、RelativeLayout(相對布局)
允許子項目指定他們相對於其它元素或父元素的位置(通過ID指定)。因此,你可以以靠右對齊,或上下,
或置於螢幕中央的形式來排列兩個元素。元素按順序排列,因此如果第一個元素在螢幕的中央,那麼相對
於這個元素的其它元素將以螢幕中央的相對位置來排列。如果使用XML來指定這個layout,在你定義它之前
,被關聯的元素必須定義。
android:layout_centerInparent,將當前控制項放置於起父控制項的橫向和縱向的中央部分
android:layout_centerHorizontal,使當前控制項置於父控制項橫向的中央部分
android:layout_centerVertical,使當前控制項置於父控制項縱向的中央部分
android:layout_alignParentBottom,使當前控制項的底端和父控制項底端對齊
android:layout_alignParentLeft,使當前控制項的左端和父控制項左端對齊
android:layout_alignParentRight,使當前控制項的右端和父控制項右端對齊
android:layout_alignParentTop,使當前控制項的頂端和父控制項頂端對齊
android:layout_alignParentBottom,使當前控制項的底端和父控制項底端對齊
android:layout_above 將該控制項的底部至於給定ID的控制項之上
android:layout_below 將該控制項的頂部至於給定ID的控制項之下
android:layout_toLeftOf 將該控制項的右邊緣和給定ID的控制項的左邊緣對齊
android:layout_toRightOf 將該控制項的左邊緣和給定ID的控制項的右邊緣對齊
android:layout_alignBaseline 該控制項的baseline和給定ID的控制項的baseline對齊
android:layout_alignBottom 將該控制項的底部邊緣與給定ID控制項的底部邊緣
android:layout_alignLeft 將該控制項的左邊緣與給定ID控制項的左邊緣對齊
android:layout_alignRight 將該控制項的右邊緣與給定ID控制項的右邊緣對齊
android:layout_alignTop 將給定控制項的頂部邊緣與給定ID控制項的頂部對齊
Android:layout_marginBottom/layout_marginLeft/layout_marginRight/layout_marginTop=”30px”
使當前控制項底部/左邊/右邊/頂部空出相應像素空間
四、FrameLayout(單幀布局)
是最簡單的一個布局對象。它被定製為你螢幕上的一個空白備用地區,之後你可以在其中填充一個單一對象
— 比如,一張你要發布的圖片。所有的子項目將會固定在螢幕的左上方;你不能為FrameLayout中的一個子
元素指定一個位置。後一個子項目將會直接在前一個子項目之上進行覆蓋填充,把它們部份或全部擋住(除非
後一個子項目是透明的)。
android:src=”@drawable/”屬性指定所需圖片的檔案位置,用ImageView顯示圖片時,也應當用
android:src指定要顯示的圖片
五、TableLayout(表格布局)
以行列的形式管理子控制項,每一行為一個TableRow的對象,TableRow也可以添加子控制項
android:collapseColumns=“n”隱藏TableLayout裡面的TableRow的列n
android:stretchColumns=“n”設定列n為可延伸的列
android:shrinkColumns=“n”設定列n為可收縮的列
Android布局的各種對齊問題