布局总结
layout對于順速搭建界面和適應不同的分辨率有很重要的作用,layout大致分成5種,LinearLayout ,FrameLayout , TableLayout? ,RelativeLayout,? AbsoluteLayout.
1.幾種Layout中Item所共有的XML屬性:
- (1)layout_width
- (2)layout_height
注:?(1)和(2)用來確定放入Layout中的View的寬度和高度:它們的可能取值為fill_parent,wrap_content或者固定的像素值。
- (3)layout_marginLeft ? ? ? ? --->paddingLeft
- (4)layout_marginTop ? ? ? ? --->paddingTop
- (5)layout_marginRight ? ? ? --->paddingRight
- (6)layout_marginBottom ? ?--->paddingBottom
- (補)layout_margin ? ? ? ? ? ? ?--->padding
?注:(3)(4)(5)(6)是放入Layout中的View期望它能夠和Layout的邊界或者其他View之間能夠相距一段距離。
- (7)layout_gravity
注:(7)用來確定View在Layout中的停靠位置。
FrameLayout是最簡單的Layout,就只具有這些屬性。
LinearLayout還會有:
- (8)layout_weight
注:?(8)用于在LinearLayout中把所有子View排布之后的剩余空間按照它們的layout_weight分配給各個擁有這個屬性的View。
?
TableLayout的行TableRow是一個橫向的(horizontal)的LinearLayout
?
RelativeLayout有16個align相關的XML屬性:
?
- (9 )layout_alignParentBottom ? ?當前控件低端與父控件的低端對齊(重合)
- (10)layout_alignParentLeft ? ? ? ?當前控件左端與父控件的左端對齊(重合)
- (11)layout_alignParentRight ? ? ?當前控件右端與父控件的右端對齊(重合)
- (12)layout_alignParentTop ? ? ? ?當前控件上端與父控件的上端對齊(重合)
- (13)layout_centerHorizontal ? ? ?當前控件位于父控件的橫向中間位置(水平方向上的中間)
- (14)layout_centerInParent ? ? ? ?當前控件位于父控件的縱橫向中間位置(垂直方向上的中間)
- (15)layout_centerVertical ? ? ? ? ?當前控件位于父控件的縱向中間位置(平面上的正中間)
?
- (16)layout_above ? ? ? ? ? ??使當前控件位于給出id控件的上方
- (17)layout_below ? ? ? ? ? ? 使當前控件位于給出id控件的下方
- (18)layout_toLeftOf ? ? ? ? ?使當前控件位于給出id控件的左側
- (19)layout_toRightOf ? ? ? ?使當前控件位于給出id控件的右側
?
- (20)layout_alignBottom ? ??使當前控件與給出id控件的底部部重合(注意可用和給出id控件來對齊)
- (21)layout_alignLeft ? ? ? ? ?使當前控件與給出id控件的左邊重合
- (22)layout_alignRight ? ? ? ?使當前控件與給出id控件的右邊重合
- (23)layout_alignTop ? ? ? ? ?使當前控件與給出id控件的頂部重合
- (24)layout_alignBaseline ? ?使當前控件的BaseLine與給出id控件t的BaseLine重合,這個主要用于Label或者其他包含文本的widgets。
?注:(9)到(24)用來確定RelativeLayout中的View相對于Layout或者Layout中的其他View的位置
LinearLayout 有兩個非常相似的屬性:android:gravity與android:layout_gravity。他們的區別在 于:android:gravity用于設置View組件的對齊方式,而android:layout_gravity用于設置Container組件的 對齊方式。
舉 個例子,我們可以通過設置android:gravity="center"來讓EditText中的文字在EditText組件中居中顯示;同時我們 設置EditText的android:layout_gravity="right"來讓EditText組件在LinearLayout中居中顯示
轉載于:https://www.cnblogs.com/DASOU/p/4173383.html
總結
- 上一篇: 【ASP.NET】获取网站目录的方法
- 下一篇: SimpleFOC(八)—— 理论+实践