RelativeLayout被稱作相對佈局,也是一種常見的佈局。相比排列規律的線性佈局,相對佈局就顯得自由一點
首先介紹一下一些常用的屬性:
第一類:相對於父佈局進行定位
android:layout_alignParentBottom=”true”下對齊
android:layout_alignParentTop=”true” 上對齊
android:layout_alignParentEnd=”true” 在父控件結束位置結束
android:layout_alignParentStart=”true” 在父控件開始位置開始
android:layout_alignParentRight=”true” 右對齊
android:layout_alignParentLeft=”true” 左對齊
android:layout_centerHorizontal=”true” 水平中線對齊
android:layout_centerVertical=”true” 垂直中線對齊
android:layout_centerInParent=”true” 居中
第二類:相對於控件進行定位
android:layout_alignBottom=”@id/**” 與控件下對齊
android:layout_alignTop=”@id/**” 與控件上對齊
android:layout_alignRight=”@id/**” 與控件右對齊
android:layout_alignLeft=”@id/**” 與控件左對齊
android:layout_below=”@id/**” 在控件下方
android:layout_above=”@id/**” 在控件上方
android:layout_toLeftOf=”@id/**” 在控件左側
android:layout_toRightOf=”@id/**” 在控件右側
android:layout_toStartOf=”@id/**” 一直到控件的開始位置
android:layout_toEndOf=”@id/**” 從控件的結束位置開始
先上代碼:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn1"
android:text="btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true" />
<Button
android:id="@+id/btn2"
android:text="btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"/>
<Button
android:id="@+id/btn3"
android:text="btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
<Button
android:id="@+id/btn4"
android:text="btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/btn3"
android:layout_toStartOf="@id/btn3" />
<Button
android:id="@+id/btn5"
android:text="btn5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/btn3"
android:layout_alignStart="@id/btn3" />
</RelativeLayout>
在看效果:
需要注意的:當一個控件去引用另一個控件的id時,該控件一定要定義在所要引用的控件的後面。