一、布局的定義
布局:一種可用于放置很多控制元件的容器,可以按照一定的規律調整內部控制元件的位置

二、 線性布局(LinearLayout)
- 1、 定義:該布局會將它所包含的控制元件在線性方向上依次排列,其代碼都是在LinearLayout元素下實作的
- 2、布局檔案中的android:orientation屬性指定了控制元件的排列方向,
- 若是vertical,則控制元件按垂直方向排列;若為horizontal,則控制元件按水平方向排列,
- 注:如果宣告為vertical,則內部控制元件的高度不能指定為match_parent;
如果宣告為horizontal,則內部控制元件的寬度不能指定為match_parent;
- 3、android:gravity用于指定文字在控制元件中的對齊方式;而android:layout_gravity用于指定控制元件在布局中的對齊方式,
- 4、若LinearLayout的排列方向為vertical時,只有水平方向上的對齊方式才會改變,因為垂直方向上的長度不是固定的;若為horizontal時,只有垂直方向上的對齊方式才會改變,因為水平方向上的長度不是固定的
- 5、android:layout_weight允許我們使用比例的方式來制定控制元件的大小,若此時控制元件的排列方向為horizontal,則寬度可調成0dp;
- 6、dp是Android中用于指定控制元件大小、間距等屬性的單位
三、 相對布局(RelativeLayout)
- 1、定義:他可以通過相對定位的方式讓控制元件出現在布局的任何位置,其控制元件都是在RelativeLayout布局下實作的
相對布局具有兩種相對性:- 1)相對于父布局定位,其中幾個常見的屬性:
android:layout_alignParentRight:表示相對于父布局處在右邊
android:layout_alignParentLeft:表示相對于父布局處在左邊
android:layout_alignParentTop:表示相對于父布局處在上邊
android:layout_alignParentButton:表示相對于父布局處在下邊 - 2)相對于控制元件定位,其中幾種常見的屬性:
android:layout_centerInParent:表示定義定位于中間位置的控制元件(我們以控制元件Button 3為基準)
android:layout_above="@id/button_3":表示定義定位相對于中間控制元件頂部的位置
android:layout_below="@id/button_3":表示定義定位相對于中間控制元件底部的位置
android:layout_toLeftOf="@id/button_3":表示定義定位相對于中間控制元件左邊的位置
android:layout_toRightOf="@id/button_3":表示定義定位相對于中間控制元件右邊的位置 - 3)
android:layout_alignLeft:表示讓一個控制元件的左邊緣和另一個控制元件的左邊緣對齊
android:layout_alignRight:表示讓一個控制元件的右邊緣和另一個控制元件的右邊緣對齊
android:layout_alignLeft:表示讓一個控制元件的頂部邊緣和另一個控制元件的頂部邊緣對齊
android:layout_alignLeft:表示讓一個控制元件的底部邊緣和另一個控制元件的底部邊緣對齊
- 1)相對于父布局定位,其中幾個常見的屬性:
四、 幀布局(FrameLayout)
- 1、定義:此布局沒有方便的定位方式,所有的控制元件都會默認擺放在布局的左上角,其代碼都是在FrameLayout布局下實作的
- 2、當然我們也可以通過android:layout_gravity對控制元件的對齊方式進行調整,以達到避免所有控制元件擺放在左上角的情況,向對于前兩種布局,這種情況的布局使用較少
五、百分比布局
- 1、由于只有LinearLayout布局支持使用android:layout_weight屬性來實作按比例指定控制元件大小的功能,其余兩個布局都不支持
- 2、因此百分比布局只為FrameLayout 、RelativeLayout中進行了擴展,使得在這兩個布局之下也能實作按比例指定控制元件大小的功能,其控制元件分別是在PercentFrameLayout和PrecentRelativeLayout布局下實作的,這兩個布局分別繼承了前者的所有屬性和方法
- 3、在百分比布局下,無需再使用wrap_content、match_parent等方式來指定控制元件的大小,直接指定控制元件在布局中所占的百分比就行,并且通過layout_gravity來指定控制元件的位置
- 4、build.gradle檔案中添加百分比布局庫的依賴
implementation 'com.android.support:percent:24.2.1'
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/292523.html
標籤:其他
