getMeasuredHeight vs getMeasuredHeightAndState

时间:2016-04-29 00:29:51

标签: android android-layout view android-view

我已经查看了源代码。我已经阅读了文档。但我仍然不明白这两个值如何比较和对比。我也很惊讶地看到

public final int getMeasuredHeight() {
    return mMeasuredHeight & MEASURED_SIZE_MASK;
}

为什么按位AND?

1 个答案:

答案 0 :(得分:0)

mMeasuredHeight是一个整数值,包含有关视图的两条不同信息。

显然,第一件是尺寸。视图可以具有合理的最大高度,并且远小于最大整数。因此,您可以使用整数值中的最高位来设置标志。

在这种情况下,设置的标志是MEASURED_STATE_TOO_SMALL,这是第二部分。通过将此位设置为1,视图将声明测量的尺寸小于视图所希望的空间。"

getMeasuredHeight按位使用原始像素值通过任何函数消除该位。