我有一个自定义视图,其中我是drawBitmap,然后我将视图缩放到1.5比例因子。
缩放(缩放手势)后 - 我得到了视图的宽度和高度,它和初始大小一样。因此,我有:
canvas.scale(1.5, 1.5, 0, 0);
measure(getWidth()*1.5, getHeight()*1.5);
并且它使用正确的尺寸调用onMeasure:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(heightMeasureSpec, MeasureSpec.EXACTLY));
setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);
}
}
但是在onMeasure完成之后,如果我得到View的宽度和高度,它就会像以前一样......
我需要它是缩放尺寸......
答案 0 :(得分:0)
我不确定,但我认为您需要在此处使用Matrix,将其应用于您的图片/画布,然后使用postscale()方法使其生效。 希望有所帮助
答案 1 :(得分:0)
要调整视图大小,您需要让其父级重新布局。在您的视图上进行两次调用:首先指定新的尺寸视图View.setLayoutParams(LayoutParams)
,然后调用View.requestLayout()
。
答案 2 :(得分:0)
有一个方法getMeasuredWidth / Height(),它可以为您提供View在测量时的测量值。