美文网首页
Layout源码解读

Layout源码解读

作者: 石器时代小古董 | 来源:发表于2018-05-29 10:15 被阅读0次

    一、FrameLayout源码

    measure
    1.首先测量每一个子View,根据子View的宽高和自身的margin进行累加来得出一个宽高,然后跟自身的背景大小比较取一个最大的大小
    2.记录下每一个match_parent的子View。重新测量他们宽高
    layout
    会根据每一个子view的gravity来设定位置

    二、LinearLayout源码

    参考资料
    1.遍历所有子View
    2.判断是否有分割线,有的话将添加分割线的宽度
    3.如果是精确模式将暂时不测量子View,这些view将在LinearLayout确定有剩余位置的时候测量
    4.如果不是高度将是子view的不断累加的高度以及边距的和
    注意:如果LinearLayout是精确的长度,但子空间是match-parent且设置了权重,那么期望高度是负数。所以dp设置0和设置成match—parent的比例是相反的

    相关文章

      网友评论

          本文标题:Layout源码解读

          本文链接:https://www.haomeiwen.com/subject/dqtkjftx.html