vRelativeLayout:相对布局容器内子组件的位置总是相对兄弟组件、父容器来决定的,因此这种布局方式被称为相对布局。
v如果B组件的位置是由A组件的位置来决定的,Android要求先定义A组件,再定义B组件。

 

XML属性
相关方法
说明
android:gravity
setGravity(int)
设置该布局容器内部各子组件的对齐方式
android:ignoreGravity
setIgnoreGravity(int)
设置哪个组件不受gravity组件的影响

为了控制该布局容器中各子组件的布局分布,RelativeLayout提供了一个内部类:RelativeLayout.LayoutParams,该内部类提供了大量的XML属性来控制RelativeLayout中子组件的布局分布。

xml布局文件:梅花布局

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     android:layout_width="fill_parent" 
  4.     android:layout_height="fill_parent" 
  5.     android:orientation="vertical" > 
  6.  
  7.     <TextView 
  8.         android:id="@+id/relativeview" 
  9.         android:layout_width="wrap_content" 
  10.         android:layout_height="wrap_content" 
  11.         android:layout_centerInParent="true" 
  12.         android:background="@drawable/leaf" /> 
  13.  
  14.     <TextView 
  15.         android:layout_width="wrap_content" 
  16.         android:layout_height="wrap_content" 
  17.         android:layout_alignLeft="@id/relativeview" 
  18.         android:layout_below="@id/relativeview" 
  19.         android:background="@drawable/leaf" /> 
  20.  
  21.     <TextView 
  22.         android:id="@+id/textView2" 
  23.         android:layout_width="wrap_content" 
  24.         android:layout_height="wrap_content" 
  25.         android:layout_alignTop="@id/relativeview" 
  26.         android:layout_toLeftOf="@id/relativeview" 
  27.         android:background="@drawable/leaf" /> 
  28.  
  29.     <TextView 
  30.         android:id="@+id/textView1" 
  31.         android:layout_width="wrap_content" 
  32.         android:layout_height="wrap_content" 
  33.         android:layout_alignTop="@id/relativeview" 
  34.         android:layout_toRightOf="@id/relativeview" 
  35.         android:background="@drawable/leaf" /> 
  36.  
  37.     <TextView 
  38.         android:layout_width="wrap_content" 
  39.         android:layout_height="wrap_content" 
  40.         android:layout_above="@+id/relativeview" 
  41.         android:layout_alignLeft="@id/relativeview" 
  42.         android:background="@drawable/leaf" /> 
  43.  
  44. </RelativeLayout> 

效果图:

Android-RelativeLayout布局_siyanpeng