каква е координатата на жеста на изглед на android

Когато използвам 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