【Android】相对布局(RelativeLayout)最全解析
- 一、相对布局(RelativeLayout)概述
- 二、根据父容器定位
- 三、根据兄弟控件定位
一、相对布局(RelativeLayout)概述
相对布局(RelativeLayout)
是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。
使用相对布局,需要将布局节点改成RelativeLayout
,基本格式如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
....
</RelativeLayout>
二、根据父容器定位
在相对布局中,可以通过以下的属性让的组合让控件处于父容器左上角、右上角、左下角、右下角、上下左右居中,正居中等九个位置。属性如下:
android:layout_alignParentLeft="true"
父容器左边android:layout_alignParentRight="true"
父容器右边android:layout_alignParentTop="true"
父容器顶部android:layout_alignParentBottom="true"
父容器底部android:layout_centerHorizontal="true"
水平方向居中android:layout_centerVertical="true"
垂直方向居中android:layout_centerInParent="true"
水平垂直都居中
举例:给一个控件添加android:layout_alignParentRight="true"
和-android:layout_alignParentTop="true"
属性后该控件处于父容器右上角
给一个控件添加 android:layout_alignParentLeft="true"
和android:layout_centerVertical="true"
属性后该控件处于父容器左边垂直居中位置
三、根据兄弟控件定位
在相对布局中,还支持通过已确定位置的控件作为参考来确定其他控件的位置,以下的属性让的组合让控件处于另外控件左上角、右上角、左下角、右下角、正上方、正下方、正左方、正右方等位置。属性如下:
-
android:layout_toLeftOf="@+id/button1"
在button1控件左方 -
android:layout_toRightOf="@+id/button1"
在button1控件右方 -
android:layout_above="@+id/button1"
在button1控件上方 -
android:layout_below="@+id/button1"
在button1控件下方 -
android:layout_alignLeft="@+id/button1"
与button1控件左边平齐 -
android:layout_alignRight="@+id/button1"
与button1控件右边平齐 -
android:layout_alignTop="@+id/button1"
与button1控件上边平齐 -
android:layout_alignBottom="@+id/button1"
与button1控件下边平齐
给一个控件添加 android:layout_toLeftOf="@+id/button1"
和android:layout_below="@+id/button1"
属性后该控件处于button1的左下方位置
给一个控件添加 android:layout_toLeftOf="@+id/button1"
和layout_alignTop="@+id/button1"
属性后该控件处于button1的正左方