使用RelativeLayout,可以通過設置“相對位置”(每個View相對於另一個view的位置),來指定它所包含的子view的位置。看下面main.xml中的代碼:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/lblComments"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Comments" />
<EditText www.aiwalls.com
android:id="@+id/txtComments"
android:layout_width="fill_parent"
android:layout_height="170px"
android:layout_alignLeft="@+id/lblComments"
android:layout_below="@+id/lblComments"
android:layout_centerHorizontal="true"
android:textSize="18sp" />
<Button
android:id="@+id/btnSave"
android:layout_width="125px"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/txtComments"
android:layout_below="@+id/txtComments"
android:text="Save" />
<Button
android:id="@+id/btnCancel"
android:layout_width="124px"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/txtComments"
android:layout_below="@+id/txtComments"
android:text="Cancel" />
</RelativeLayout>
可以觀察到,這些views都被嵌在瞭RelativeLayout裡面,每個view都有一些特有的屬性去和其他view對準位置。這些屬性是:
layout_alignParentTop
layout_alignParentLeft
layout_alignRight
layout_below
layout_centerHorizontal
這些屬性的值,就是每個被引用的view的id。
效果圖:
摘自 manoel的專欄