Android ApiDemos示例解析(151):Views->Layouts->RelativeLayout->1. Vertical

RelativeLayout 讓子元素指定它們相對於其他元素的位置(通過ID 來指定)或相對於父佈局對象。

本例使用RelativeLayout 顯示三個TextView ,其中第二個TextView(id/view3)占據整個屏幕中間部分,前面我們已經介紹瞭如何使用LinearLayout,通過指定View的權重實現同樣的效果Android ApiDemos示例解析(143):Views->Layouts->LinearLayout->3. Vertical (Padded)

本例使用RelativeLayout ,因為需要通過制定其它View作為參照物,所有子View必須定義id,其它子View通過指定參照物的id來確定其相對位置。

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”>

<!– view1 goes on top –>
<TextView
android:id=”@+id/view1″
android:background=”@drawable/red”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_alignParentTop=”true”
android:text=”@string/relative_layout_1_top”/>

<!– view2 goes on the bottom –>
<TextView
android:id=”@+id/view2″
android:background=”@drawable/green”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_alignParentBottom=”true”
android:text=”@string/relative_layout_1_bottom”/>

<!– view3 stretches betweeen view1 and view2 –>
<TextView
android:id=”@+id/view3″
android:background=”@drawable/yellow”
android:layout_width=”match_parent”
android:layout_height=”0dip”
android:layout_above=”@id/view2″
android:layout_below=”@id/view1″
android:text=”@string/relative_layout_1_center”/>

</RelativeLayout>

TextView1 (id/view1) 指出其相對於父容器RelativeLayout的layout_alignParentTop為True,因此其顯示在屏幕頂部。

TextView2 (id/view2) 指出其相對於父容器RelativeLayout的android:layout_alignParentBottom為True,因此其顯示在屏幕底部。

TextView3(id/view3) 高度設為0,但通過android:layout_above和android:layout_below指出它和TextView1於TextView2之間的相對位置(和兩個TextView上下相鄰),因此TextView3占據所有剩餘的中間部分。

 

 

發佈留言