SurfaceHolder
スケーリングを機能させるためにとを使用しScaleGestureDetector
ています。 と の間でSurfaceHolder.lockCanvas()
スケーリングsurfaceHolder.unLockCanvasAndPost(canvas)
操作を実行します。
canvas.scale(mScaleFactor, mScaleFactor, scalePointX,scalePointY);
onScaleMethod では、次のことを実行します。
public boolean onScale(ScaleGestureDetector detector) {
mScaleFactor *= detector.getScaleFactor();
// Don't let the object get too small or too large.
mScaleFactor = Math.max(1.0f, Math.min(mScaleFactor, 35f));
scalePointX=(detector.getFocusX());
scalePointY=(detector.getFocusY());
Log.i("Zoom",mScaleFactor+"");
return true;
}
しかし、キャンバスは 2 本の指の間の中央で拡大縮小されません。コードが機能するように、scalePointX と scalePointY の値をどのように調整すればよいですか。
ありがとう