2

キャンバスの移動とスケーリングがどのように機能するかを誤解していますか? ドラッグしてズームできるカスタム ビューを作成しましたが、設定した境界内にあります。キャンバスを翻訳すると境界が再描画されると思いましたか? ビューポートではなく、画面全体で画像をドラッグしてズームできるようにしたい! キャンバスを翻訳するとビューポートが調整されると思いました。

私はこれについて間違った方法で考えていますか?

@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));
4

1 に答える 1