相对布局RelativeLayout是指按照组件之间的相对位置进行布局,如一个组件在另一个组件的左右上下等等。这是很常用的布局,它灵活、可以实现很适配性强的布局。所以用好它可以使你在UI设计中游刃有余。RelativeLayout中可以设置的属性不多,很多属性都是设置在子View中的,这些属性在RelativeLayout.LayoutParams这个内部类里,可以去SDK里面看看。
-
android:gravity
这个属性和LinearLayout里的一样,请参考LinearLayout——线性布局(上) -
android:ignoregravity
设置那个子View不适用RelativeLayout里设置的gravity属性
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:ignoreGravity="@+id/test" >
<Button
android:id="@+id/test"
android:layout_width="100dp"
android:layout_height="100dp"
android:text="ABCD" />
<Button
android:layout_width="100dp"
android:layout_height="100dp"
android:text="1234" />
</RelativeLayout>
使用技巧
场景一: 如果一个view的width是wrap_content,而另一个布局的width要和他一样
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AAAAAAA" />
<TextView
android:layout_alignLeft="@+id/t1"
android:layout_alignRight="@+id/t1" android:layout_below="@+id/t1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="BBBBBBBBBBBB" />
</RelativeLayout>
注意第二个TextView的头两行