以下に ScaleGestureDetector があり、adpater notifyDataSetChanged を呼び出した後、onScale イベントを検出してビューのサイズをリアルタイムで変更できます。ただし、私の見方は複雑なので遅いです。ビューの一時画像をキャプチャし、画像のサイズを変更してユーザーに効果を表示し、最終的に onScaleEnd が発生したときに実際の最終的なビュー データを変更する方法はありますか?
どうもありがとう
以下に ScaleGestureDetector があり、adpater notifyDataSetChanged を呼び出した後、onScale イベントを検出してビューのサイズをリアルタイムで変更できます。ただし、私の見方は複雑なので遅いです。ビューの一時画像をキャプチャし、画像のサイズを変更してユーザーに効果を表示し、最終的に onScaleEnd が発生したときに実際の最終的なビュー データを変更する方法はありますか?
どうもありがとう
私は次のことでこれを達成します
ビットマップを保存する
this.setDrawingCacheEnabled(true);
ivSnapShotBitmap = Bitmap.createBitmap(this.getDrawingCache());
this.setDrawingCacheEnabled(false);
onDraw(キャンバス キャンバス)
canvas.drawBitmap(ivSnapShotBitmap, 0, 0, null);
canvas.scale(ivScaleFactor, ivScaleFactor);
super.onDraw(キャンバス);
ビュー自体が scale(x,y) をサポートしていないため、マルチタッチ ズームのタイプ 10 以下の API レベルをサポートできます。
この問題の 1 つは、ビューが縮小されている場合です。右と下の空きスペースには元の背景が表示されます。まだ修正する方法を見つけています。