キャンバスの移動とスケーリングがどのように機能するかを誤解していますか? ドラッグしてズームできるカスタム ビューを作成しましたが、設定した境界内にあります。キャンバスを翻訳すると境界が再描画されると思いましたか? ビューポートではなく、画面全体で画像をドラッグしてズームできるようにしたい! キャンバスを翻訳するとビューポートが調整されると思いました。
私はこれについて間違った方法で考えていますか?
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.translate(mPosX, mPosY);
canvas.scale(mScaleFactor, mScaleFactor);
mIcon.draw(canvas);
canvas.restore();
}
これが私がビューを作成した方法です。基本的にはこの 250 x 250 のボックスに収まっています。実際にドラッグするにはビューが必要です.何か愚かなことをしているように感じますが、探している動作を生成できません。
MultiTouchImageView view = new MultiTouchImageView(this);
view.setLayoutParams(new RelativeLayout.LayoutParams(250, 250));