MeasureSpec是Android View测量体系中的核心概念,它封装了父View对子View的布局要求。它本质上是一个32位的int值,由模式(Mode) 和大小(Size) 两部分组成。理解这三种模式,是理解自定义View布局和复杂布局优化的关键。”
核心解析:三种模式
MeasureSpec的三种模式决定了子View在测量过程中应该如何解释Size这个值。
1. EXACTLY (精确模式)
-
二进制值:
01(十进制:1073741824) -
含义:父View已经为子View确定了一个精确的尺寸。子View必须使用这个尺寸,即最终测量宽/高必须等于MeasureSpec中的Size。
-
对应布局参数:
-
match_parent -
具体的数值(如
100dp)
-
-
子View行为:在
onMeasure中,通常应该直接调用setMeasuredDimension(measureSpec.getSize(), measureSpec.getSize())。
2. AT_MOST (至多模式)
-
二进制值:
10(十进制:-2147483648) -
含义:

2万+

被折叠的 条评论
为什么被折叠?



