Android onMeasure函数参数剖析
简介
Android上onMeasure回调函数是给View计算自己的大小的.在Android的View绘制体系中,onMeasure的地位非常不要啊扥奥赛发AD森重要.View.java中onMeasure函数的定义如下 :
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec),
getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec));
}
我们可以看到onMeasure函数接收两个int参数,这两个int其实是MeasureSpen类生成的.下面我们看看MeasureSpec类
的定义:
public static class MeasureSpec {
private static final int MODE_SHIFT = 30;
private static final int MODE_MASK = 0x3 << MODE_SHIFT;
public static int makeMeasureSpec(int size, int mode) {
if (sUseBrokenMakeMeasureSpec) {
return size + mode;
} else {