自定义view中可以通过onMeasure拿到定义的尺寸
也可以通过getDrawingRect()方法拿到,但是会有负值,暂时未深入研究
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
width = measureDimension(220, widthMeasureSpec);
height = measureDimension(290, heightMeasureSpec);
setMeasuredDimension(width, height);
}
private int measureDimension(int defaultsize, int measureSpec) {
int result = 0;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize = MeasureSpec.getSize(measureSpec);
if (specMode == MeasureSpec.EXACTLY) {
result = specSize;
} else if (specMode == MeasureSpec.AT_MOST) {
result = Math.min(0, specSize);
} else {
result = 0;
}
return result;
}
也可以通过getDrawingRect()方法拿到,但是会有负值,暂时未深入研究