标签:ram 一个 实现 int wrap 转换 就是 不能 content
在测量过程中,系统会将View的LayoutParams根据父容器所施加的规则转换成对应的MeasureSpec,然后再根据这个mesureSpec来测量出View的宽/高。
MeasureSpec代表一个32位int值,高2位代表SpecMode(测量模式),低30位代表SepcSize(指在某种测量模式下的规格大小)。
SpecMode有三类:
UNSPECIFIED:父容器不对VIew有任何限制,要多大给多大,这种情况一般用于系统内部,表示一种测量的状态。
EXACTLY:父容器已经检测出View所需要的精确大小,这个时候View的最终大小就是SpecSize所指定的值。它对应于LayoutParams中的match_parent和具体的数值这两种模式。
AT_MOST:父容器指定了一个可用大小即SpecSize,View的大小不能大于这个值,具体是什么值要看不同View的具体实现。它对应于LayoutParams中的wrap_content。
标签:ram 一个 实现 int wrap 转换 就是 不能 content
原文地址:https://www.cnblogs.com/kyun/p/10124198.html