Android RelativeLayout布局

Android RelativeLayout布局1 RelativeLayo 类相对布局 RelativeLayo 将子视图以相对位置显示 默认显示在父视图的左上角 layout alignParentT 父视图的上边 layout alignParentB 父视图的下边 layout alignParentL 父视图的左边 layout alignParentR 父视图的右边设置 4 个子视图在

1. RelativeLayout类

相对布局(RelativeLayout)将子视图以相对位置显示。默认显示在父视图的左上角。

  • layout_alignParentTop,父视图的上边
  • layout_alignParentBottom,父视图的下边
  • layout_alignParentLeft,父视图的左边
  • layout_alignParentRight,父视图的右边

设置4个子视图在边角位置。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent">  
    <TextView android:layout_width="100dp" android:layout_height="40dp" android:text="Default" android:gravity="center" android:background="#ffa6a5aa"/>  
    <TextView android:layout_width="100dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:text="Right" android:gravity="center" android:background="#ffa6a5aa"/>  
    <TextView android:layout_width="100dp" android:layout_height="40dp" android:layout_alignParentBottom="true" android:text="Bottom" android:gravity="center" android:background="#ffa6a5aa"/>  
    <TextView android:layout_width="100dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:text="Right|Bottom" android:gravity="center" android:background="#ffa6a5aa"/>  
     RelativeLayout> 

2. 居中显示

layout_centerXX可以在父视图内居中显示

  • layout_centerInParent,相对于父视图完全居中
  • layout_centerHorizontal,相对于父视图水平居中
  • layout_centerVertical,相对于父视图垂直居中

可以配合alignParentXX使用

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="120dp" android:layout_height="40dp" android:text="centerInParent" android:gravity="center" android:background="#ffa6a5aa" android:layout_centerInParent="true"/> <TextView android:layout_width="120dp" android:layout_height="40dp" android:text="centerHorizontal" android:gravity="center" android:background="#ffa6a5aa" android:layout_centerHorizontal="true"/> <TextView android:layout_width="120dp" android:layout_height="40dp" android:text="alignParentBottom" android:gravity="center" android:background="#ffa6a5aa" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true"/> <TextView android:layout_width="120dp" android:layout_height="40dp" android:text="centerVertical" android:gravity="center" android:background="#ffa6a5aa" android:layout_centerVertical="true"/> <TextView android:layout_width="120dp" android:layout_height="40dp" android:text="alignParentRight" android:gravity="center" android:background="#ffa6a5aa" android:layout_centerVertical="true" android:layout_alignParentRight="true"/>  
     RelativeLayout> 

3. 相对视图对齐

  • layout_above,视图的下边与相对视图的上边对齐
  • layout_below,视图的的上边与相对视图的下边对齐
  • layout_toRightOf,视图的左边与相对视图的右边对齐
  • layout_toLeftOf,视图的右边与相对视图的左边对齐

设置的子视图的相对位置,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_center" android:layout_width="150dp" android:layout_height="60dp" android:layout_centerInParent="true" android:text="center" android:background="#ffffcc00" android:gravity="center" /> <TextView android:layout_width="100dp" android:layout_height="40dp" android:text="above" android:gravity="center" android:background="#ffa6a5aa" android:layout_above="@id/tv_center"/> <TextView android:layout_width="100dp" android:layout_height="40dp" android:text="below" android:gravity="center" android:background="#ffa6a5aa" android:layout_below="@id/tv_center"/> <TextView android:layout_width="100dp" android:layout_height="40dp" android:text="toRightOf" android:gravity="center" android:background="#ffa6a5aa" android:layout_toRightOf="@id/tv_center"/> <TextView android:layout_width="100dp" android:layout_height="40dp" android:text="toLeftOf" android:gravity="center" android:background="#ffa6a5aa" android:layout_toLeftOf="@id/tv_center"/>  
     RelativeLayout> 

4. 边对齐

  • layout_alignTop,视图与基准视图的上边对齐
  • layout_alignBottom:视图与基准视图的下边对齐
  • layout_alignLeft:视图与基准视图的左边对齐
  • layout_alignRight:视图与基准视图的右边对齐
  • layout_alignBaseline:视图与基准视图的基准线对齐

设置的子视图某条边的对齐方式,

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_center" android:layout_width="150dp" android:layout_height="100dp" android:layout_centerInParent="true" android:text="center" android:textSize="32sp" android:background="#ffffcc00" android:gravity="center" /> <TextView android:layout_width="60dp" android:layout_height="20dp" android:text="alignTop" android:gravity="center" android:background="#ffa6a5aa" android:layout_alignTop="@id/tv_center"/> <TextView android:layout_width="60dp" android:layout_height="20dp" android:text="alignBottom" android:gravity="center" android:background="#ffa6a5aa" android:layout_alignBottom="@id/tv_center"/> <TextView android:layout_width="60dp" android:layout_height="20dp" android:text="alignLeft" android:gravity="center" android:background="#ffa6a5aa" android:layout_alignLeft="@id/tv_center"/> <TextView android:layout_width="60dp" android:layout_height="20dp" android:text="alignRight" android:gravity="center" android:background="#ffa6a5aa" android:layout_alignRight="@id/tv_center"/> <TextView android:layout_width="60dp" android:layout_height="20dp" android:text="alignBaseline" android:gravity="center" android:background="#ffa6a5aa" android:layout_alignBaseline="@id/tv_center"/>  
     RelativeLayout> 

源码下载: https://github.com/nai-chen/AndroidBlog

相关文章
Android LinearLayout布局
Android RelativeLayout布局
Android ConstraintLayout布局
Android 自定义布局








版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205505.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午5:52
下一篇 2026年3月19日 下午5:52


相关推荐

  • 浅谈大数据风控平台的功能需求

    浅谈大数据风控平台的功能需求导读 大数据风控业务的开展依赖智能风控平台 智能风控平台的技术基础是大数据技术 智能风控系统技术架构也是以大数据系统技术架构为基础演进而来的 智能风控系统技术架构主要分为访问层 展现层 系

    2026年3月20日
    2
  • java使用siger 轻松获取本机硬件信息(CPU 内存 网络 io等)

    java使用siger 轻松获取本机硬件信息(CPU 内存 网络 io等)1 下载 sigar jarsigar 官方主页 sigar 1 6 4 zip2 按照主页上的说明解压包后将相应的文件 copy 到 java 路径 比如 windows32 位操作系统需要将 lib 中 sigar x86 winnt dll 文件拷贝到 javaSDK 目录的 bin 内 packagecom jiepu test importjava net InetAddr

    2026年3月16日
    2
  • qtav—-ffmeg在ubuntu和win10上的编译和运行

    qtav—-ffmeg在ubuntu和win10上的编译和运行最近在windows上和ubuntu上都安装了qtav并且通过了编译测试,实测播放中英文的视频文件功能正常,有图像有声音。大致情况是,操作系统ubuntu:wkr@sea-X550JK:~$cat/etc/os-releaseNAME=”Ubuntu”VERSION=”16.04.4LTS(XenialXerus)”ID=ubuntuID_LIKE=debianPRETTY_…

    2025年12月2日
    4
  • 国内免费高匿IP代理软件

    国内免费高匿IP代理软件免费IP代理软件能快速获取代理ip资源,智能验证,一键设置取消代理。免费IP代理软件1.支持免费IP代理2.普通代理3.高匿代理4.Http代理5.Https代理6.自动验证无效代理7.一键设置取消代理8.导出到文本或Excel9.绿色免费软件。511遇见免费IP代理媒体预览https://www.bilibili.com/video/BV1ty4y1V72ehttps://v.youku.com/v_show/id_XNTE5MzgyMTU

    2022年6月16日
    129
  • 秋招面试题系列- – -Java 工程师(一)

    秋招面试题系列- – -Java 工程师(一)内容涵盖 Java MyBatis ZooKeeper Dubbo Elasticsearc Memcached Linux 等技术栈

    2026年3月17日
    2
  • 序列化和反序列化的底层实现原理是什么?

    序列化和反序列化的底层实现原理是什么?序列化和反序列化作为Java里一个较为基础的知识点,大家心里也有那么几句要说的,但我相信很多小伙伴掌握的也就是那么几句而已,如果再深究问一下Java如何实现序列化和反序列化的,就可能不知所措了!遥记当年也被问了这一个问题,自信满满的说了一大堆,什么是序列化、什么是反序列化、什么场景的时候才会用到等,然后面试官说:那你能说一下序列化和反序列化底层是如何实现的吗?一脸懵逼,然后回家等通知!一、…

    2022年6月15日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号