Android开发布局三_相对布局(RelativeLayout)

    相对布局(RelativeLayout),容器内子组件的位置总是相对兄弟组件,父容器来决定的。因此称为相对布局。

    如果A组件的位置是由B组件的位置来决定的,Android要先定义B组件,在定义A组件。RelativeLayout可支持两个XML属性:

        XML属性                               相关用法                                       说明

1.    android:gravity                  setGravity(int)                      设置该布局容器内部各子组件的对齐方式

2.    android:ignoreGravity         setIgnore Gravity(int)              设置那个组件不受gravity影响

 

  为了控制该布局中各子组件的布局分布,RelativeLayout提供了一个内部类 RelativeLayout.LayoutParams,该类提供了大量的XML属性就不一一里出来了,

下来写一个有针对行的例子,做一个“梅花”布局效果的界面,代码:

View Code
 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout android:layout_width="fill_parent"
3 android:layout_height="fill_parent" android:orientation="vertical"
4 xmlns:android="http://schemas.android.com/apk/res/android">
5
6 <!-- 定义该组件位于父容器中间 -->
7 <TextView
8 android:id="@+id/textview1"
9 android:layout_width="wrap_content"
10 android:layout_height="wrap_content"
11 android:background="@drawable/wbk"
12 android:layout_centerInParent="true"
13 />
14 <!-- 定义该组件位于textview1的上方 above ,alignLeft设置第二个以中间组件的左边对其 -->
15 <TextView
16 android:id="@+id/textview2"
17 android:layout_width="wrap_content"
18 android:layout_height="wrap_content"
19 android:background="@drawable/wbk"
20 android:layout_above="@id/textview1"
21 android:layout_alignLeft="@id/textview1"
22 />
23
24 <TextView
25 android:id="@+id/textview3"
26 android:layout_width="wrap_content"
27 android:layout_height="wrap_content"
28 android:background="@drawable/wbk"
29 android:layout_below="@id/textview1"
30 android:layout_alignLeft="@id/textview1"
31 />
32
33 <TextView
34 android:id="@+id/textview4"
35 android:layout_width="wrap_content"
36 android:layout_height="wrap_content"
37 android:background="@drawable/wbk"
38 android:layout_toLeftOf="@id/textview1"
39 android:layout_alignTop="@id/textview1"
40 />
41
42 <TextView
43 android:id="@+id/textview5"
44 android:layout_width="wrap_content"
45 android:layout_height="wrap_content"
46 android:background="@drawable/wbk"
47 android:layout_toRightOf="@id/textview1"
48 android:layout_alignTop="@id/textview1"
49 />
50
51
52 </RelativeLayout>

运行效果如下:

 


 

posted on 2011-09-29 11:30  wangbokun  阅读(976)  评论(0编辑  收藏  举报

导航