安卓开发--RelativeLayout(相对布局)
特点:是 Android 中一种基于相对位置进行布局的容器,它允许子视图通过相对于父容器或其他子视图的位置关系来定位。
基本属性
1. 相对于父容器定位
属性 | 说明 |
android:layout_alignParentTop | 与父容器顶部对齐 |
android:layout_alignParentBottom | 与父容器底部对齐 |
android:layout_alignParentLeft | 与父容器左侧对齐 |
android:layout_alignParentRight | 与父容器右侧对齐 |
android:layout_centerInParent | 在父容器中居中 |
android:layout_centerHorizontal | 水平居中 |
android:layout_centerVertical | 垂直居中 |
2. 相对于其他视图定位
属性 | 说明 |
android:layout_above | 位于指定视图上方 |
android:layout_below | 位于指定视图下方 |
android:layout_toLeftOf | 位于指定视图左侧 |
android:layout_toRightOf | 位于指定视图右侧 |
android:layout_alignTop | 与指定视图顶部对齐 |
android:layout_alignBottom | 与指定视图底部对齐 |
android:layout_alignLeft | 与指定视图左侧对齐 |
android:layout_alignRight | 与指定视图右侧对齐 |
android:layout_alignBaseline | 与指定视图的基线对齐 |
3. 边距设置
属性 | 说明 |
android:layout_margin | 所有方向外边距 |
android:layout_marginTop | 上外边距 |
android:layout_marginBottom | 下外边距 |
android:layout_marginLeft | 左外边距 |
android:layout_marginRight | 右外边距 |
android:layout_marginStart | 起始边外边距 |
android:layout_marginEnd | 结束边外边距 |
4.centerInParent
, centerHorizontal
, 和 centerVertical
android:layout_centerInParent
:将视图水平和垂直居中对齐。android:layout_centerHorizontal
:将视图水平居中。android:layout_centerVertical
:将视图垂直居中。
实例:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"tools:context=".MainActivity"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:text="Button 1"/><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentTop="true"android:text="Button 2"/><Buttonandroid:id="@+id/button3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="Button 3"/><Buttonandroid:id="@+id/button4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentBottom="true"android:text="Button 4"/><Buttonandroid:id="@+id/button5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:layout_alignParentBottom="true"android:text="Button 5"/></RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"tools:context=".MainActivity"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"><Buttonandroid:id="@+id/button3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="Button 3"/><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_above="@id/button3"android:layout_toLeftOf="@id/button3"android:text="Button 1"/><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_above="@id/button3"android:layout_toRightOf="@id/button3"android:text="Button 2"/><Buttonandroid:id="@+id/button4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/button3"android:layout_toLeftOf="@id/button3"android:text="Button 4"/><Buttonandroid:id="@+id/button5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/button3"android:layout_toRightOf="@id/button3"android:text="Button 5"/></RelativeLayout>