我在缩放画布方面遇到了问题。我已经创建了一个自定义视图,在其中绘制关系图,但是当我将画布缩小时,它会回到位置(0,0)。我查看了不同的线程和问题,但没有找到合适的答案。
在onDraw方法中我正在进行以下操作。
canvas.scale(mScaleFactor, mScaleFactor);
我也看到了canvas.scale(x, y, px, py)方法,但我不知道如何获取x和y的旋转中心点。
public boolean onScale(ScaleGestureDetector detector) {
mScaleFactor *= detector.getScaleFactor();
// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.4f, Math.min(mScaleFactor, 5.0f));
if(mScaleFactor>=1)
mScaleFactor=1f;
invalidate();
return true;
}