检测onFling手势

时间:2014-02-03 03:32:03

标签: android

我尝试了android gesture guide

中的代码
class GraphGestureListener extends GestureDetector.SimpleOnGestureListener
{
    private static final String DEBUG_TAG = "Gestures";

    @Override
    public boolean onDown(MotionEvent event)
    {
        Log.d(DEBUG_TAG, "onDown: " + event.toString());
        return true;
    }

    @Override
    public boolean onFling(MotionEvent event1, MotionEvent event2,
            float velocityX, float velocityY)
    {
        Log.d(DEBUG_TAG,
                "onFling: " + event1.toString() + event2.toString());
        return true;
    }
}

我不确定我是否在这里忽略了这一点,但是当我在设备上执行所述手势时,我从未设法在LogCat中显示onFling消息。我一直在上车。是因为onDown每次拦截它吗?

1 个答案:

答案 0 :(得分:0)

我已经修好了。

我在前面的例子中看到了onTouchEvent:

@Override
public boolean onTouchEvent(MotionEvent event)
{
    this._detector.onTouchEvent(event);
    return super.onTouchEvent(event);
}

通过返回探测器的onTouchEvent结果,我现在成功捕获了所有事件:

@Override
public boolean onTouchEvent(MotionEvent event)
{
    return this._detector.onTouchEvent(event);
}

我是android的新手,这只是一时兴起。有没有人对第一个样本阻止其他事件的原因有合理的解释?