我有一个View
我想要可拖动的方法,所以我重写了它的onTouchEvent(MotionEvent event)
方法,并且在移动事件中,我View
根据事件动作的 (x, y) 坐标重新定位/平移我的。然而!在拖动我的View
右边时 - 例如 - 我看到事件动作的 x 坐标不是稳定增加(即 ... 15、16、17、18 ...)而是交错的(即 ... 15 , 23, 16, 24, 17, 25 ...),因此我的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);
}