专栏首页Android相关LinearLayout.onMeasure-设置LinearLayout的高度

LinearLayout.onMeasure-设置LinearLayout的高度

    if (!allFillParent && widthMode != MeasureSpec.EXACTLY) {
        maxWidth = alternativeMaxWidth;
    }
    
    maxWidth += mPaddingLeft + mPaddingRight;

    // Check against our minimum width
    maxWidth = Math.max(maxWidth, getSuggestedMinimumWidth());
    
    setMeasuredDimension(resolveSizeAndState(maxWidth, widthMeasureSpec, childState),
            heightSizeAndState);

    if (matchWidth) {
        forceUniformWidth(count, heightMeasureSpec);
    }
  1. 判断allFillParent以及widthMode,如果满足的话,那么maxWidth则设为alternativeMaxWidth
  2. maxWidth再加上左右的间距
  3. 比较和背景图的大小
  4. 通过resolveSizeAndState获取widthMeasureSpec,通过setMeasuredDimension设置LinearLayout的宽高

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android Profile--Memory Monitor

    在Android Studio3.0 Preview版本中,Android Profiler中提供了Memory Monitor工具来监控选中App内存变化,可...

    None_Ling
  • ActivityManagerService--startActivity的流程

    该流程图为:当Activity目标进程不存在时,启动Activity的流程。若进程相同的话,也只是省略了启动进程的步骤。

    None_Ling
  • 编译问题--Could not download kotlin-reflect.jar

    但是在该工程中并没有使用Kotlin,怀疑是因为Android Studio版本过高并且下载了Kotlin插件的原因,导致在没有使用Kotlin的项目中会出现该...

    None_Ling
  • 花木兰到底好看不,我用Python爬取了几万条评论!

    对于神仙姐姐刘亦菲,估计很多码农都很喜欢,小编也非常喜欢她。从一开始的金粉世家里面的青涩的白秀珠,到天龙八部的神仙姐姐王语嫣,再到仙剑奇侠传里面的赵灵儿,后来挑...

    叫我龙总
  • Hacking with iOS: SwiftUI Edition - 里程碑:项目 4 - 6

    在这一点上,您应该真的开始对SwiftUI的工作方式感到满意。我知道,对于某些人来说,这可能是一个巨大的心理障碍,因为我们失去了控制程序的精确流程的能力,而是需...

    韦弦zhy
  • 分布式及高可用元数据采集原理

    元数据采集是元数据产品的核心部分,如何提升采集效率是需要仔细斟酌的事情,既要保持稳定性也要保持跟上主流技术的发展趋势。元数据产品从最初集中式WEB应用系统到现在...

    yuanyi928
  • 一些SAP UI5的学习笔记

    (1) 最重要的是学会:在console里看到一些log,如何找到具体是哪一行JS打印的这些log的方法。在jQuery.sap.log.info里设置断点肯定...

    Jerry Wang
  • 漫谈DPI工具

    01 聊聊DPI DPI即深度数据包检测,这种技术一般是针对应用层的流量进行检测和控制。当有流量经过时基于DPI的监控系统后,系统需要读取报文中OSI七层协议...

    SDNLAB
  • Mesos+Marathon对比Kubernetes

    本文是我之前在技术选型时给团队做的一次分享内容,做了一次相对全面的关于Kubernetes 1.2 和 Mesos 0.28 + Marathon 1.2的对比...

    Walton
  • Golang 是否有必要内存对齐?

    有些同学可能不知道,struct 中的字段顺序不同,内存占用也有可能会相差很大。比如:

    poslua

扫码关注云+社区

领取腾讯云代金券