我们执行ACTION_MOVE时如何获取坐标

时间:2011-01-13 05:19:26

标签: android

我想在我的应用中执行一些触控操作。 当我触摸屏幕并执行任何移动动作时,我想获得坐标。 即起点x& y坐标和终点x& y坐标。 如何在onTouch()中执行它?

1 个答案:

答案 0 :(得分:0)

我实现了它。

Coordinate coordinate = new Coordinate();

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

        switch (event.getAction() & MotionEvent.ACTION_MASK) {

        case MotionEvent.ACTION_DOWN:

            coordinate.setStartX(event.getX());
            Log.i("start X" , String.valueOf(event.getX()));
            break;

        case MotionEvent.ACTION_UP:
        case MotionEvent.ACTION_POINTER_UP:
        case MotionEvent.ACTION_MOVE:
            coordinate.setEndX(event.getX());
            Log.i("end X" , String.valueOf(event.getX()));
            break;
        }           
    }
    return true;
}

private class Coordinate {

    private float startX;
    private float endX;

    /**
     * @return the startX
     */
    public float getStartX() {
        return startX;
    }
    /**
     * @param startX the startX to set
     */
    public void setStartX(float startX) {
        this.startX = startX;
    }
    /**
     * @return the endX
     */
    public float getEndX() {
        return endX;
    }
    /**
     * @param endX the endX to set
     */
    public void setEndX(float endX) {
        this.endX = endX;
    }       
}