RelativeLayout 又稱為相對佈局,和LinearLayout佈局的排列規則不同,RelativeLayout的佈局相對隨意一些,他可以通過相對定位將控件出現在佈局的仁億位置。
屬性說明:
1. android:layout_alignParentLeft 與父佈局的左對齊;
2. android:layout_alignParentRight 與父佈局的右對齊;
3. android:layout_centerInParent 居中顯示
4. android:layout_alignParentBottom 與父佈局下對齊
5. android:layout_alignParentTop 與父佈局上對齊
以下代碼實現:進入button左上對齊;button2_2 右上對齊;button2_3居中;button2_4左下對齊;退出button 右下對齊。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button2_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="#00ff00"
android:text="@string/button2_1"/>
<Button
android:id="@+id/button2_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="#00ffff"
android:text="@string/button2_2"/>
<Button
android:id="@+id/button2_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#ff00ff"
android:text="@string/button2_3"/>
<Button
android:id="@+id/button2_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:background="#ffff11"
android:text="@string/button2_4"/>
<Button
android:id="@+id/button2_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="#ff1111"
android:text="@string/button2_5"/>
</RelativeLayout>
- android:layout_above 讓一個控件位於另一個控件的上方,用@id/button3_3來指定相對控件id的引用。
- android:layout_below 讓一個控件位於另一個控件的下方
- android:layout_toLeftOf 讓一個控件位於另一個控件的左側
- android:layout_toRightOf 讓一個控件位於另一個控件的左側
以下代碼實現:button1 對於button3 的左上測;button2位於button3的右上側;button4位於button3的左下測;button5位於button3的右下側。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button3_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#ff0000"
android:text="@string/button3_3" />
<Button
android:id="@+id/button3_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/button3_3"
android:layout_toLeftOf="@id/button3_3"
android:background="#ffff00"
android:text="@string/button3_1" />
<Button
android:id="@+id/button3_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/button3_3"
android:layout_toRightOf="@id/button3_3"
android:background="#ff00ff"
android:text="@string/button3_2" />
<Button
android:id="@+id/button3_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button3_3"
android:layout_toLeftOf="@id/button3_3"
android:background="#9911ff"
android:text="@string/button3_4" />
<Button
android:id="@+id/button3_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/button3_3"
android:layout_toRightOf="@id/button3_3"
android:background="#eeffee"
android:text="@string/button3_5" />
</RelativeLayout>
- layout_alignLeft一個控件的左邊緣與另一個控件的左邊緣對齊,,用@id/button4_3來指定相對控件id的引用。
- layout_alignRight 一個控件的右邊緣與另一個控件的右邊緣對齊
- layout_alignTop 一個控件的上邊緣與另一個控件的上邊緣對齊
- layout_alignBottom 一個控件的下邊緣與另一個控件的下邊緣對齊
以下代碼實現:button1 與button3 左邊緣對齊且button1與父佈局上對齊;button2與button3 上邊緣對齊;button4與button3上邊緣對齊且button3與父佈局右對齊;button5與button3左對齊且與父佈局下對齊。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/button4_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#ff0000"
android:text="@string/button4_3" />
<Button
android:id="@+id/button4_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/button4_3"
android:layout_alignParentTop="true"
android:background="#ffff00"
android:text="@string/button4_1" />
<Button
android:id="@+id/button4_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/button4_3"
android:background="#ff00ff"
android:text="@string/button4_2" />
<Button
android:id="@+id/button4_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/button4_3"
android:layout_alignParentRight="true"
android:background="#9911ff"
android:text="@string/button4_4" />
<Button
android:id="@+id/button4_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/button4_3"
android:layout_alignParentBottom="true"
android:background="#eeffee"
android:text="@string/button4_5" />
</RelativeLayout>