当前位置: 首页 > 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以优化此问题。

        

       

相关文章:

  • 基于vue实现bilibili网页
  • 物联网数据驾驶舱
  • 基于centos7的k8s最新版v1.29.2安装教程
  • 【九】【算法分析与设计】双指针(3)
  • 5.1.4、【AI技术新纪元:Spring AI解码】Amazon Bedrock
  • SpringBoot中引入了springcloud-gateway,路由不生效为什么?
  • 下载chromedrive,使用自动化
  • 说说JVM的垃圾回收机制
  • 【算法】火柴排队(离散化、归并排序)
  • 在Linux/Ubuntu/Debian中使用lsof和fuser查看/解除文件占用
  • day-23 分发糖果
  • CentOS无法解析部分网站(域名)
  • GraphQL入门之查询片段的使用
  • python 小游戏《2048》字符版非图形界面
  • 论文阅读_参数微调_P-tuning_v2
  • Vue2 引入使用ElementUI详解
  • 基于word2vec 和 fast-pytorch-kmeans 的文本聚类实现,利用GPU加速提高聚类速度
  • cmd常用指令
  • 【Docker】Prometheus 容器部署及应用
  • 软件杯 深度学习 python opencv 实现人脸年龄性别识别
  • 多家外资看好中国市场!野村建议“战术超配”,花旗上调恒指目标价
  • 法治课|争议中的“行人安全距离”于法无据,考量“注意义务”才更合理
  • “降息潮”延续,多家民营银行下调存款利率
  • 库尔德工人党决定自行解散
  • 教育部基础教育教指委:小学阶段禁止学生独自使用开放式内容生成功能
  • 欧阳娜娜担任江西吉安文化旅游大使