布局方式(2)---RelativeLayout布局

相对布局-RelativeLayout

1.相对布局-RelativeLayout

1.简介

  • 是参考某一个控件进行摆放其他控件的布局,根据指定的界面控件进行相对位置的调整
  • 相对父:
  • 相对兄弟:margin+padding

2.相对位置

  • 相对父
    • 父亲的左边
    • 父亲的右边
    • 父亲的顶部
    • 父亲的垂直居中
    • 父亲的水平居中
    • 父亲的底部

  • 相对兄弟
    • A相对B,B要在A的前面进行定义
    • 不能出现循环依赖

图中的组件1,2就是兄弟组件了,而组件3与组件1或组件2并不是兄弟组件,所以组件3不能通过 组件1或2来进行定位,比如layout_toleftof = "组件1"这样是会报错的!

2.属性

  • 设置时true/false

  • 设置的是相对的id

3.案例:梅花造型

   <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <ImageView
                android:id="@+id/girl"
                android:layout_centerInParent="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:maxHeight="50dp"
                android:maxWidth="50dp"
                android:src="@mipmap/girl"
                />
            <ImageView
                android:id="@+id/download"
               android:layout_toRightOf="@id/girl"
                android:layout_centerVertical="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:maxHeight="50dp"
                android:maxWidth="50dp"
                android:src="@mipmap/download"
                />
            <ImageView
                android:id="@+id/city"
               android:layout_toLeftOf="@id/girl"
                android:layout_centerVertical="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:maxHeight="50dp"
                android:maxWidth="50dp"
                android:src="@mipmap/city"
                />
            <ImageView
                android:id="@+id/boy"
                android:layout_centerHorizontal="true"
                android:layout_below="@id/girl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:maxHeight="50dp"
                android:maxWidth="50dp"
                android:src="@mipmap/boy"
                />
            <ImageView

                android:layout_centerHorizontal="true"
                android:layout_above="@id/girl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"
                android:maxHeight="50dp"
                android:maxWidth="50dp"
                android:src="@mipmap/boy"
                />

        </RelativeLayout>

4.案例:父类的属性测试

布局文件代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".FrameLayoutTest">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            >
            <TextView
                android:layout_alignParentLeft="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="左边"
                android:textColor="@color/black"
                android:textSize="30dp"
                />
            <TextView
                android:layout_alignParentRight="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="右边"
                android:textColor="@color/black"
                android:textSize="30dp"
                />
            <TextView
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="上边且居中"
                android:textColor="@color/black"
                android:textSize="30dp"
                />
            <TextView
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="下边且居中"
                android:textColor="@color/black"
                android:textSize="30dp"
                />
            <TextView
                android:layout_centerVertical="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="垂直居中"
                android:textColor="@color/black"
                android:textSize="30dp"
                />
            <TextView
                android:layout_centerInParent="true"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="居中"
                android:textColor="@color/black"
                android:textSize="30dp"
                />
        </RelativeLayout>
    </LinearLayout>
</LinearLayout>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不懂代码的孩子

谢谢大佬

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值