Android布局【RelativeLayout】

news/2025/1/15 16:00:03/

文章目录

  • 介绍
  • 常见属性
    • 根据父容器定位
    • 根据兄弟组件定位
  • 通用属性
    • margin 设置组件与父容器的边距
    • padding 设置组件内部元素的边距
  • 项目结构
  • 主要代码

介绍

RelativeLayout是一个相对布局,如果不指定对齐位置,都是默认相对于父容器的左上角的开始布局

常见属性

根据父容器定位

  1. layout_alignParentLeft:左对齐
  2. layout_alignParentRight:右对齐
  3. layout_alignParentTop:顶部对齐
  4. layout_alignParentBottom:底部对齐
  5. layout_centerHorizontal:水平居中
  6. layout_centerVertical:垂直居中
  7. layout_centerInParent:中间位置

根据兄弟组件定位

  1. layout_toLeftOf:放置于参考组件的左边
  2. layout_toRightOf:放置于参考组件的右边
  3. layout_above:放置于参考组件的上方
  4. layout_below:放置于参考组件的下方
  5. layout_alignTop:对齐参考组件的上边界
  6. layout_alignBottom:对齐参考组件的下边界
  7. layout_alignLeft:对齐参考组件的左边界
  8. layout_alignRight:对齐参考组件的右边界

通用属性

margin 设置组件与父容器的边距

  1. layout_margin:上下左右偏移
  2. layout_marginLeft:左偏移
  3. layout_marginRight:右偏移
  4. layout_marginTop:上偏移
  5. layout_marginBottom:下偏移

padding 设置组件内部元素的边距

项目结构

在这里插入图片描述

主要代码

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:padding="50dp"android:layout_height="match_parent"><RelativeLayoutandroid:id="@+id/rl1"android:layout_width="100dp"android:layout_height="100dp"android:layout_centerInParent="true"android:background="#ff0000" /><!--    这里发现如果不进行任何设置的话会将上面的布局进行一个覆盖--><RelativeLayoutandroid:layout_width="100dp"android:layout_height="100dp"android:layout_toRightOf="@+id/rl1"android:background="#00ff00" /><RelativeLayoutandroid:layout_alignParentBottom="true"android:layout_marginLeft="100dp"android:layout_width="100dp"android:layout_height="100dp"android:background="#0000ff" /></RelativeLayout>

http://www.ppmy.cn/news/1032110.html

相关文章

std::vector<size_t> index(cloud2->size()); 里面的索引的顺序是随机的吗 CSDN GPT

################################################################################### 1 std::for_each(index.begin(), index.end(), [idx 0](size_t& i) mutable { i idx; }); 中文回答 std::for_each(index.begin(), index.end(), [idx 0](size_t& i) muta…

centos搭建k8s

centos搭建k8s环境_centos k8s_进击的Coders的博客-CSDN博客

JVM 中的编译器

在Java的世界里,JVM(Java Virtual Machine)扮演了重要的角色。JVM是一个虚拟机,是Java程序的运行环境,它能够将Java字节码文件解释执行,使得Java程序可以跨平台。在JVM内部,有一个重要的组件就是编译器,它的作用就是将Java源代码编译成字节码,让JVM可以识别并执行。 …

终极代码随想录 DAY60 最后一天

说是最后一天 其实后面还有图论和等等什么的 不过算是代码训练营的最后一天吧 还是历经整整3个月终于刷完了 主要因为是转行 其中很多算法根本没接触过 耗费了比较多的时间 不过嵌入式对算法的话要求也没那么高 后面就是hot100 和剑指offer之类的 就差不多了 class Solution …

Java 集合扩容概括

参考博文&#xff1a; java集合的扩容机制_这个名字先用着的博客-CSDN博客 # ArrayList 可随着元素的增长而自动扩容&#xff0c;正常扩容的话&#xff0c;每次扩容到原来的 1.5倍。 # ArrayList 和Vector扩容机制总结&#xff1a; ArrayList 和Vector,底层都是Object数组…

《零基础实践深度学习》(第2版)学习笔记,(二)机器学习和深度学习综述

文章目录 1. 人工智能、机器学习、深度学习的关系2. 机器学习2.1 实现原理2.2 如何实施 3. 深度学习神经网络核心概念 1. 人工智能、机器学习、深度学习的关系 **人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;**是研发用于模拟、延伸和扩展人的智能…

CentOS7源码安装MySQL详细教程

&#x1f60a; 作者&#xff1a; Eric &#x1f496; 主页&#xff1a; https://blog.csdn.net/weixin_47316183?typeblog &#x1f389; 主题&#xff1a;CentOS7源码安装MySQL详细教程 ⏱️ 创作时间&#xff1a; 2023年08月014日 文章目录 1、安装的四种方式2、源码安装…

62、华为昇腾开发板Atlas 200I DK A2配置mmpose的hrnet模型推理python/c++

基本思想&#xff1a;适配mmpose模型&#xff0c;记录一下流水帐&#xff0c;环境配置和模型来自&#xff0c;请查看参考链接。 链接: https://pan.baidu.com/s/1IkiwuZf1anyKX1sZkYmD1g?pwdi51s 提取码: i51s 一、转模型 (base) rootdavinci-mini:~/sxj731533730# atc --mo…