Android LinearLayout的佈局屬性介紹
目錄
1.位置屬性
以下的屬性值為true或者false
Android:layout_alignWithParentIfMissing Android:layout_alignParentEnd 緊貼父元素結束位置結束 Android:layout_alignParentStart 緊貼著父元素結束位置開始 Android:layout_alignParentBottom 緊貼著父元素的下邊緣 Android:layout_alignParentLeft 貼緊父元素的左邊緣對齊 Android:layout_alignParentRight 貼緊父元素的右邊緣對齊 Android:layout_alignParentTop 貼緊父元素的上邊緣對齊 Android:layout_alignCenterInParent 相對於父元素完全居中 Android:layout_centerHorizontal 水平居中 Android:layout_centerVertical 垂直居中
2.尺寸屬性
以下的屬性值為具體的畫素值,如30dip
Android:layout_margin Android:layout_marginLeft Android:layout_marginRight Android:layout_marginTop Android:layout_marginBottom Android:layout_marginStart Android:layout_marginEnd Android:padding Android:paddingLeft Android:paddingEnd Android:paddingRight Android:paddingStart Android:paddingBottom Android:paddingTop
3.id引用屬性
以下的屬性值必須為id的引用名字 @id/id-name
Android:layout_alignBaseLine Android:layout_alignEnd Android:layout_alignStart Android:layout_alignBottom Android:layout_alignLeft Android:layout_alignRight Android:layout_alignTop Android:layout_toStartOf 這個一般父元素佈局為相對佈局? Android:layout_toEndOf Android:layout_toRightOf Android:layout_toLeftOf Android:layout_above Android:layout_below
4.特殊屬性
android:orientation
該屬性用於定義該LinearLayout內的各種控制元件的排列對齊方式。
有”vertical”和”horizontal”兩種值,分別表示垂直對齊和水平對齊。
當android:orientation設定為vertical時,一行只能有一個元素,而不管該元素有多寬;
當設定為horizontal時,則所有元素都在一行,不會換行。
android:layout_width與android:layout_height
用於定義控制元件的寬度與高度。它也有兩個值分別是:match_parent wrap_content。
”match_parent”表示控制元件的寬/高度以其父檢視大小為準,即填滿父檢視的空間;
”wrap_content”隨著檢視中內容的不同而改變控制元件的寬度或者高度,類似於自動設定寬/高的意思。
需要注意的是,這兩個屬性會受android:layout_weight的影響。
當然,你還可以使用android:layout_width和android:layout_height指定寬度和高度時,可指定尺寸,如25dp。
如果不想指定具體的寬度和高度時,可以使用“wrap_content”使控制元件根據內容來自適應或者可以使用“wrap_parent”佔滿該控制元件所在容器的所有空間。
android:gravity
控制元件中的內容的對齊方式,預設是left and top aligned
(左上,前者left表示垂直方位上的對齊方式,後者top表示水平方位上的對齊方式,對齊時都是以包含控制元件的檢視的中心點為基準的)
android:layout_gravity
設定該view相對與起父view 的位置.
比如一個button在linearlayout裡,你想把該button放在靠左、靠右等位置就可以通過該屬性設定.
以button為例,android:layout_gravity="right"則button靠右。
也就是說android:gravity用於設定View中內容相對於View元件的對齊方式,
而android:layout_gravity用於設定View元件相對於Container的對齊方式。
原理跟android:paddingLeft、android:layout_marginLeft有點類似。如果在按鈕上同時設定這兩個屬性。
android:paddingLeft="30px" 按鈕上設定的內容離按鈕左邊邊界30個畫素
android:layout_marginLeft="30px" 整個按鈕離左邊設定的內容30個畫素
android:layout_alignParentRight="true" 屬性是子控制元件針對父容器的。 且父容器必須是RelativeLayout
線性佈局中若包含子線性佈局,則必須設定 android:layout_weight="1" 關於這個屬性還有很多,搜尋android:layout_weight深刻理解,可深入瞭解它。