当前位置: 首页 > news >正文

LinearLayout和RelativeLayout对比

LinearLayout和RelativeLayout是Android中应用最为广泛的两种布局, 绝大部分UI均可以通过两种布局中的任何一种进行实现,其对比如下:
 LinearLayout:

        1. LinearLayout可以实现子View按照权重分配显示区域,RelativeLayout则不行。

        2. 实现复杂的UI布局,LinearLayout通常需要更多的布局层级

        3. 相同UI同等层级情况下LinearLayout通常layout和draw性能更好。这是因为而LinearLayout只需调用一次measure过程,而RelativeLayout会调用2次。但是有weight属性存在时,LinearLayout 也需要两次measure。

        RelativeLayout:

        1. RelativeLayout可以实现分层布局,LinearLayout则不行。使用RelativeLayout时需注意上层的view可能不遮挡遮挡下层View的展示,但遮挡其点击事件。

        2. RelativeLayout的在复杂嵌套布局中,可以降低布局嵌套层级 。

        3. RelativeLayout的子View如果高度和RelativeLayout不同,会导致RelativeLayout在onMeasure()方法中做横向测量时,纵向的测量结果尚未完成,只好暂时使用自己的高度传入子View系统。这可能会导致额外的计算开销。解决办法就是可以使用padding代替margin以优化此问题。

        

       

http://www.lryc.cn/news/318223.html

相关文章:

  • 蓝桥杯深度优先搜索|剪枝|N皇后问题|路径之谜(C++)
  • 大门对楼梯,怎么办?
  • 解决驱动开发中<stdlib.h> no such file 的问题
  • Find My工牌|苹果Find My技术与工牌结合,智能防丢,全球定位
  • Springboot解决跨域问题
  • UE5 C++ TPS开发 学习记录(10
  • ES6(一):let和const、模板字符串、函数默认值、剩余参数、扩展运算符、箭头函数
  • Docker使用及部署流程
  • Nginx的日志怎么看,在哪看,access.log日志内容详解
  • Windows Server 各版本搭建终端服务器实现远程访问(03~19)
  • Node.js入门基础—day01
  • 基于FPGA的PSRAM接口设计与实现
  • OpenCV 图像的几何变换
  • 鸿蒙 - 读取 rawfile 中的 json 文件
  • 【Stable Diffusion】入门-02:AI绘画提示词+参数设置攻略
  • Spring Boot启动时执行初始化操作的几种方式
  • 考研失败, 学点Java打小工——Day3
  • 【Stable Diffusion】入门-01:原理简介+应用安装(Windows)+生成步骤
  • VueX详解
  • 2023 年 9 月青少年软编等考 C 语言一级真题解析
  • 避免阻塞主线程 —— Web Worker 示例项目
  • matlab 基操~
  • HTML5、CSS3面试题(一)
  • 图片压缩神器源码系统:无损画质 带完整的代码安装包以及搭建教程
  • 探索SOCKS5代理、代理IP、HTTP与网络安全
  • 【Python学习篇】Python基础入门学习——你好Python(一)
  • 【通信原理笔记】【二】随机信号分析——2.2 平稳随机过程
  • 新火种AI|GPT-4诞生1年,OpenAI把它放到了机器人上
  • 8-图像放大
  • java实现压缩文件夹(层级压缩)下载,java打包压缩文件夹下载