私は2つの方法でAndroidにドラッグを実装しようとしました:
- ドロー付きのキャンバス。
- 余白のある相対的なレイアウトは、タッチすると変化します。
強力なデバイスでも、十分にスムーズではありません。
ドラッグを高速化するにはどうすればよいですか?
私は2つの方法でAndroidにドラッグを実装しようとしました:
強力なデバイスでも、十分にスムーズではありません。
ドラッグを高速化するにはどうすればよいですか?
MotionEvent.ACTION_MOVE最も簡単な (そして最も反応の良い) 方法は、ビューでタッチを処理することViewですview.invalidate()。
invalidate()ビューのコンテンツを単に呼び出して再描画するよりもパフォーマンスの高い代替手段が必要な場合はSurfaceView、任意のスレッドから描画できる描画面を提供する を使用してください。次のようなコードを使用して、好きなときにアクセスしてCanvas描画するだけです。
SurfaceView mSurface; //In your view hierarchy
SurfaceHolder = mSurface.getHolder();
Canvas c = mHolder.lockCanvas();
c.drawBitmap(...);
c.drawColor(...);
//...etc...etc...
mHolder.unlockCanvasAndPost(c);
draw()ビューへの呼び出しを待つのではなく。前述したように、 でロックを取得しているためCanvas、この描画はバックグラウンド スレッドで実行できます。
HTH