Android - 简单自定义查看问题

时间:2011-07-26 12:53:35

标签: java android graphics views

我有一个自定义视图,其中我是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的宽度和高度,它就会像以前一样......

我需要它是缩放尺寸......

3 个答案:

答案 0 :(得分:0)

我不确定,但我认为您需要在此处使用Matrix,将其应用于您的图片/画布,然后使用postscale()方法使其生效。 希望有所帮助

答案 1 :(得分:0)

要调整视图大小,您需要让其父级重新布局。在您的视图上进行两次调用:首先指定新的尺寸视图View.setLayoutParams(LayoutParams),然后调用View.requestLayout()

答案 2 :(得分:0)

有一个方法getMeasuredWidth / Height(),它可以为您提供View在测量时的测量值。