首页 > 代码库 > RelativeLayout相对布局的使用和详解

RelativeLayout相对布局的使用和详解

Relativelayout 就是所谓的相对布局,也就是说组件与组件之间是依靠相对位置来决定排列顺序的。

既然接口组件之间要指定他们的相对位置 ,那么我们就要为他们每一个组件设置一个ID名称,这样才方便我们为他们设置相对位置。

我们来根据一个简单范例来学习这个布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView android:id="@+id/txt1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
android:text="txt1"/>
<EditText android:id="@+id/edt1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
android:text="edt1"
android:layout_below="@id/txt1"/>
<EditText android:id="@+id/edt2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
android:text="edt2"
android:layout_toRightOf="@id/edt1"
android:layout_alignTop="@id/edt1"/>
<TextView android:id="@+id/txt2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
android:text="txt2"
android:layout_above="@id/edt2"
android:layout_alignLeft="@id/edt2"/>
<Button android:id="@+id/btn1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
android:text="btn1"
android:layout_below="@id/edt1"/>
</RelativeLayout>

根据程序我们分析得知:

第一个组件ID是txt1 

第二个组件ID是edt1 android:layout_below="@id/txt1"这句代码的意思是指定edt1在txt1的下方

第三个组件ID是edt2  android:layout_toRightOf="@id/edt1"指定edt2在edt1的右边
android:layout_alignTop="@id/edt1"/>这句的意思是对齐方式的设置,在这里指定edt2与edt1上边缘对齐。

第四个组件ID是txt2 android:layout_above="@id/edt2"指定txt2在edt2的上边,
android:layout_alignLeft="@id/edt2"并且与edt2左边缘对齐

第五个组件ID是btn1 android:layout_below="@id/edt1" 指定这个按钮btn1位于edt1的下方。

需要注意的地方;

1,指定接口组件ID必须是在前面声明过的 也就是定义过的。也就是说不可以拿后面组件的id来使用指定。

2,第一个组件的默认位置是屏幕的左上角,如果在后面的组件中指定在第一个组件的左边或者上边,都会造成所设置的组件看不见。

3,在Relativelayout中要想设置组件之间的对齐方式用到的是align.

RelativeLayout相对布局的使用和详解