美文网首页
Android进阶之光读书笔记 View体系(二)理解Measu

Android进阶之光读书笔记 View体系(二)理解Measu

作者: most_xiaoya | 来源:发表于2018-07-12 12:08 被阅读0次

    MeasureSpec 是View 的内部类,封装了一个View的规格尺寸,包括View的宽和高的信息。它的作用是在Measure流程中,系统会将LayoutParagrams根据父容器所施加的规则转换成对应的measureSpec ,然后在onMeasure方法中根据这个MeasureSpec 来确定view的宽高。

    MeasureSpec 的代码这里不再赘述。

    看过MeasureSpec的代码后会发现  MeasureSpec的常量 是32位的int值,其中高2位代表了SpecMode,低30位代表SpecSize。SpecMode代表view的测量模式,SpecSize代表view的测量大小。其中 SpecMode有三种模式:

    1.UNSPECIFIED:未指定模式,View想多大就多大,父容器不做限制,一般用于系统内部的测量。

    2.AT_MOST:最大模式,对应于wrap_content属性,子View 的最终大小是父View指定的SpecSize值,并且 子View 的大小不能大于这个值。

    3.EXACTLY:精确模式,对应于match_parent属性和具体的数值,父容器测量出View所需要的大小,也就是SpecSize。

    相关文章

      网友评论

          本文标题:Android进阶之光读书笔记 View体系(二)理解Measu

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