какова координата жеста вида на андроиде

При использовании GestureDetector для захвата жестов на экране меня смущает координата X-Y экрана Android. Например:

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 или я ошибаюсь?

Кстати, код работает на API 2.1.


person John Wang    schedule 16.12.2010    source источник


Ответы (1)


документы говорят:

distanceX Расстояние по оси X, которое было прокручено с момента последнего вызова onScroll. Это НЕ расстояние между e1 и e2.

distanceY Расстояние по оси Y, которое было прокручено с момента последнего вызова onScroll. Это НЕ расстояние между e1 и e2.

person bigstones    schedule 16.12.2010