ドラッグ可能にしたいものがあるので、そのメソッドをView
オーバーライドし、移動イベントで、イベントアクションの(x、y)座標に基づいて位置を変更/変換します。でも!右をドラッグすると(たとえば)、イベントアクションのx座標が着実に増加しておらず(つまり... 15、16、17、18 ...)、代わりにインターリーブされている(つまり... 15)ことがわかります。 、23、16、24、17、25 ...)したがって、私の動きはぎくしゃくします。(同様に、左、上、下などにドラッグします)onTouchEvent(MotionEvent event)
View
View
View
なぜこれが起こるのか、そしてどうすればそれを回避できるのか誰もが知っていますか?!
これが私のonTouchEvent(..)
方法です...
@Override
public boolean onTouchEvent(MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
// make note of the down action's (x, y) coordinate
action_down_x = event.getX();
action_down_y = event.getY();
return true;
case MotionEvent.ACTION_MOVE:
// work out displacement
dX = event.getX() - action_down_x;
dY = event.getY() - action_down_y;
// code here to move the view
return true;
case MotionEvent.ACTION_UP:
return true;
}
return super.onTouchEvent(event);
}