如何在onTouch事件中跟踪x和y坐标?

时间:2017-01-20 15:32:17

标签: android android-layout

当手指在屏幕上移动时,我想在 MotionEvent.ACTION_MOVE 事件中连续跟踪x和y坐标。

  

同时我应该能够知道x,y值是增加还是减少。   是否有可能做到这一点,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您必须在ACTION_DOWN事件期间捕获起始坐标,并将它们与ACTION_MOVE期间的坐标进行比较

类似的东西:

public class MyView extends ViewGroup {

    private float startX;
    private float startY;

    @Override
    public boolean onTouch(View v, MotionEvent event) {

        switch (event.getAction()) {

            case MotionEvent.ACTION_DOWN:
                startX = event.getX();
                startY = event.getY();
                break;

            case MotionEvent.ACTION_MOVE:
                float dx = startX - event.getX();
                float dy = startY - event.getY();
                break;
        }

        return true;
    }
}

如果你想更多地跟踪它,那么你可以创建一个帮助类来跟踪事件的样本,为你提供方向等。