0

GestureDetectorを使用して画面上のジェスチャーをキャプチャすると、Androidの画面のXY座標に混乱します。例えば:

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軸が下に伸びているように見えることがわかります。なぜそれが起こるのでしょうか?

アンドロイドAPIのバグですか、それとも間違っていますか?

ところで、コードはAPI2.1で実行されます

4

1 に答える 1

0

ドキュメントは言う:

distanceX onScroll への最後の呼び出し以降にスクロールされた X 軸に沿った距離。これは e1 と e2 の間の距離ではありません。

distanceY onScroll の最後の呼び出し以降にスクロールされた Y 軸に沿った距離。これは e1 と e2 の間の距離ではありません。

于 2010-12-16T08:55:10.700 に答える