当使用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上运行
答案 0 :(得分:0)
docs说:
distanceX 自上次调用onScroll以来滚动的沿X轴的距离。这不是e1和e2之间的距离。
distanceY 自上次调用onScroll以来滚动的沿Y轴的距离。这不是e1和e2之间的距离。