Android有感(11):線性布局LinearLayout
線性布局LinearLayout是指在橫向或是豎向一個接一個地排列,當排列的組件超出螢幕後,超出的組件將不會再顯示出來。
LinearLayout支援的XML屬性和對應方法如表所示:
Attribute Name |
Related Method |
Description |
android:baselineAligned |
setBaselineAligned(boolean) |
若設定為false,將阻止該布局管理器與它的子項目的基準對齊 |
android:baselineAlignedChildIndex |
setBaselineAlignedChildIndex(int) |
指定以那個子項目的基準對齊 |
android:divider |
setDividerDrawable(Drawable) |
設定垂直布局時兩個按鈕之間的分隔條 |
android:gravity |
setGravity(int) |
設定布局管理器內組件的對齊 |
android:measureWithLargestChild |
setMeasureWithLargestChildEnabled(boolean) |
若設定為true,所有的子組件將具有最大子項目的最小尺寸 |
android:orientation |
setOrientation(int) |
設定布局管理器內組件的排列方向 |
android:weightSum |
|
定義權重總和的最大值 |
Orientation 屬性可以設定為horizontal或vertical
Gravity 屬性可以設定為top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
一個屬性可以包含多個值,需用“|”連起來。其含義如下:
top |
將對象放在其容器的頂部,不改變其大小. |
bottom |
將對象放在其容器的底部,不改變其大小. |
left |
將對象放在其容器的左側,不改變其大小. |
right |
將對象放在其容器的右側,不改變其大小. |
center_vertical |
垂直對齊:垂直方向上置中對齊。 |
fill_vertical |
垂直方向填充 |
center_horizontal |
水平對齊:水平方向上置中對齊 |
fill_horizontal |
水平方向填充 |
center |
將對象橫縱置中,不改變其大小. |
fill |
必要的時候增加對象的橫縱向大小,以完全充滿其容器. |
clip_vertical |
附加選項,用於按照容器的邊來剪下對象的頂部和/或底部的內容. 剪下基於其縱向對齊設定:頂部對齊時,剪下底部;底部對齊時剪下頂部;除此之外剪下頂部和底部. 垂直方向裁剪 |
clip_horizontal |
附加選項,用於按照容器的邊來剪下對象的左側和/或右側的內容. 剪下基於其橫向對齊設定:左側對齊時,剪下右側;右側對齊時剪下左側;除此之外剪下左側和右側. 水平方向裁剪 |
LinearLayout.LayoutParams負責控制線性布局管理器內部的子項目。
子項目支援的XML屬性如下
android:layout_gravity:指定該子項目在布局管理器中的對齊
android:layout_weight:指定該子項目在布局管理器中所佔的權重
屬性中layout_shenmu的都是控制子項目的。