RelativeLayout使用手册

  • 引言
  • 属性图
  • 设置布局所有组件的对齐方式
  • 根据父容器来定位
  • 根据指定元素定位
  • margin与padding的区别

引言

嵌套多层的 LinearLayout,这样就会降低UI Render的效率(渲染速度),而且如果是listview或者GridView上的 item,效率会更低,另外太多层LinearLayout嵌套会占用更多的系统资源,还有可能引发stackoverflow; 但是如果我们使用RelativeLayout的话,可能仅仅需要一层就可以完成了,以父容器或者兄弟组件参考+margin +padding就可以设置组件的显示位置,是比较方便的!当然,也不是绝对的,具体问题具体分析吧! 总结就是:尽量使用RelativeLayout + LinearLayout的weight属性搭配使用吧!

属性图

设置布局所有组件的对齐方式

  • android:gravity: 设置容器内各个子控件的对齐方式
  • android:ignoreGravity: 如果为哪个组件设置了这个属性后那么该组件不受gravity属性的影响
  • android:orientation:表示排列方向

根据父容器来定位

想位于哪,那个属性就设置为true

左对齐:android:layout_alighParentLeft
右对齐:android:layout_alighParentRight
顶端对齐:android:layout_alighParentTop
底部对齐:android:layout_alighParentBottom
水平居中:android:layout_centerHorizontal
垂直居中:android:layout_centerVertical
中央位置:android:layout_centerInParent

根据指定元素定位

指定的元素必须是同一层次的组件

左边:android:layout_toLeftOf
右边:android:layout_toRightOf
上方:android:layout_above
下方:android:layout_below
对齐上边界:android:layout_alignTop
对齐下边界:android:layout_alignBottom
对齐左边界:android:layout_alignLeft
对齐右边界:android:layout_alignRight
水平居中layout_centerHorizontal
垂直居中layout_centerVertical
中间位置layout_centerInParent


图中的组件1和组件2是同一层次容器组件 而组件1与组件3不是同一个层次的组件,所以组件3不能通过组件1或组件2来进行定位。

margin与padding的区别

首先margin代表的是偏移,比如marginleft = "5dp"表示组件离容器左边缘偏移5dp; 而padding代表的则是填充,而填充的对象针对的是组件中的元素,比如TextView中的文字 比如为TextView设置paddingleft = “5dp”,则是在组件里的元素的左边填充5dp的空间! margin针对的是容器中的组件,而padding针对的是组件中的元素,要区分开来!

同时,margin可以设置为负数。

RelativeLaout使用手册相关推荐

  1. 分布式训练使用手册-paddle 数据并行

    分布式训练使用手册¶ 分布式训练基本思想¶ 分布式深度学习训练通常分为两种并行化方法:数据并行,模型并行,参考下图: 在模型并行方式下,模型的层和参数将被分布在多个节点上,模型在一个mini-batc ...

  2. 正则语法完全正则表达式手册_语法格式重点

    20211202 https://blog.csdn.net/lc11535/article/details/103266263 该表达式打开re.U(re.UNICODE)标志. python –& ...

  3. CUDA C++编程手册(总论)

    CUDA C++编程手册(总论) CUDA C++ Programming Guide The programming guide to the CUDA model and interface. C ...

  4. html iso标准文档,HTML ISO-8859-1 参考手册

    # HTML ISO-8859-1 参考手册 HTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集. ISO-8859-1 的较低部分(从 1 到 127 之间的代码)是最初的 ...

  5. 最好的程序界面就是用户无需去阅读操作手册就知道该如何使用的界面

    最好的程序界面就是用户无需去阅读操作手册就知道该如何使用的界面. 原则 1.一致性  如果你可以在一个列表的项目上双击后能 够弹出对话框,那么应该在任何列表中双击都能弹出对话框.要有统一的字体写号.统 ...

  6. ffmpeg linux安装_ffmpeg命令中文手册

    功能 视频转换和编辑工具 示例 1.从mp4视频文件中提取音频并保存为mp3音频格式 [root@node_116 video]# ffmpeg -i video.mp4 -vn sound.mp3f ...

  7. java修炼手册3.8_Java修炼手册

    <Java修炼手册免费版>是一款专为想要自学JAVA的用户打造的全方位掌上学习软件,拥有各阶段的科学课程模块,从视频,资料,图片,演示等多种方面全面引导用户科学而快速的融入JAVA的世界中 ...

  8. android 设置setmultichoiceitems设置初始化勾选_阿里巴巴Java开发手册建议创建HashMap时设置初始化容量,但是多少合适呢?...

    集合是Java开发日常开发中经常会使用到的,而作为一种典型的K-V结构的数据结构,HashMap对于Java开发者一定不陌生. 关于HashMap,很多人都对他有一些基本的了解,比如他和hashtab ...

  9. 【radar】毫米波雷达相关资料(文献综述列表、顶会研讨会资料列表、顶会workshops资料列表、工具书、使用手册)(2)

    [radar]毫米波雷达相关资料(毫米波雷达文献综述列表.毫米波雷达顶会研讨会资料列表.毫米波雷达顶会workshops资料列表.毫米波雷达工具书.毫米波雷达使用手册)(2) Review Paper ...

最新文章

  1. C++求从1到n的正整数中1出现的次数
  2. MySQL使用可重复读作为默认隔离级别的原因
  3. Linux驱动调试中的Debugfs的使用简介 CONFIG_DEBUG_FS 的功能与配置
  4. KMP算法的来龙去脉
  5. why do you want to university of cambridge?
  6. 1.1.3 以Self Host方式寄宿Web API
  7. ICCV Neural Architects Workshop - 对话深度学习大咖
  8. SVN:多版本库环境的搭建
  9. 程序员是吃青春饭的吗?未来发展前途如何?
  10. 基于 .Net Core 的组件 Nuget 包制作 amp; 发布
  11. 数据库实验四 用户权限管理
  12. word文档保存到服务器,读取SQL表数据保存到Word并将Word文档保存到服务器代码
  13. SVM支持向量机通俗导论(理解SVM的三层境界)
  14. 吴恩达机器学习视频教程(含课程作业源代码和学习笔记)
  15. Shader Graph 护盾
  16. 时序逻辑电路的分析和设计
  17. 微信内置浏览器cookie设置问题
  18. multisim常用d触发器_怎么在multisim找D触发器
  19. Windows10系统删除文件夹“找不到该项目”强删方法
  20. 回车键为什么叫做回车键?

热门文章

  1. 排序函数 sort()、sorted()、argsort()函数
  2. linux drwxr-xr-x 含义
  3. 读程序员技术练级攻略有感
  4. MySQL:如何复制表的部分或全部数据到其他表里?
  5. Windows FTP 服务器实现只能上传不能下载或删除
  6. Hippo4j和DynamicTp动态线程池介绍和使用中遇到的坑
  7. 通过痘痘看出健康情况
  8. 后端开发之接口幂等性设计
  9. jenkins 插件下载失败配置
  10. Word图片大小总是对不齐,如何统一图片的大小位置,看一眼就会!