android上视图的手势坐标是什么

时间:2010-12-16 03:43:16

标签: android gesture coordinate

当使用GestureDetector在屏幕上捕捉手势时,我对Android的屏幕X-Y坐标感到困惑。例如:

class TouchPadGL extends GestureDetector.SimpleOnGestureListener {
    public boolean onScroll(MotionEvent e1, MotionEvent e2,
                            float distanceX, float distanceY) {
        Log.i("onScroll",String.format("dsX: %s, dsY: %s",distanceX,distanceY));
    }
    public boolean onFling(MotionEvent e1, MotionEvent e2, 
                           float velocityX, float velocityY) {
        Log.i("onFling",String.format("vX: %s, vY: %s",velocityX,velocityY));
    }
}

根据上述onScroll方法的输出,似乎点(0,0)位于视图的右下角,X轴向左伸展,Y轴向上伸展。但是当检查onFling方法的输出时,你会发现它似乎(0,0)位于左上角,X轴向右伸展,Y轴向下伸展。为什么会发生这种情况?

是android api中的bug还是我错了?

BTW,代码在API 2.1上运行

1 个答案:

答案 0 :(得分:0)

docs说:

distanceX 自上次调用onScroll以来滚动的沿X轴的距离。这不是e1和e2之间的距离。

distanceY 自上次调用onScroll以来滚动的沿Y轴的距离。这不是e1和e2之间的距离。