绘制自定义View的时候,onMeasure
阶段需要根据类型来决定宽高(外部自定义或者有最大宽高),由此需要对内部参数进行改变,所以常常要写这种代码:
switch (specMode) {
case MeasureSpec.AT_MOST:
//.....
break;
case MeasureSpec.EXACTLY:
//....
case MeasureSpec.UNSPECIFIED:
}
但Android已经进行了封装,我们只需要调用resolveSize(内部设定的数值,Measure的原始值)
就可以自动为我们选择合适的值。
但此方法兼容性并不好,即使自带View也有很多没有适配,如TextView。。。使用其实这东西并不是特别好用。