自定义View测量模式
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//拿到宽高的测量模式mode
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int heightMode = MeasureSpec.getMode(heightMeasureSpec);
//根据测量模式来处理
if (widthMode == MeasureSpec.AT_MOST) {
} else if (widthMode == MeasureSpec.EXACTLY) {
} else if (widthMode == MeasureSpec.UNSPECIFIED) {
}
if (heightMode == MeasureSpec.AT_MOST) {
} else if (heightMode == MeasureSpec.EXACTLY) {
} else if (heightMode == MeasureSpec.UNSPECIFIED) {
}
//最后设置自己想要的
setMeasuredDimension(width, height);
}