微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android Studio如何在SurfaceView中实现OnFling

如何解决Android Studio如何在SurfaceView中实现OnFling

我正在尝试通过实现 GestureDetector.OnGestureListener

来使用onFling

我有代码

GestureDetector gDetector;
gDetector = new GestureDetector( context,this );

 @Override
    public boolean onDown(MotionEvent arg0) {
        return true;
    }
    @Override
    public boolean onFling(MotionEvent start,MotionEvent finish,float xVeLocity,float yVeLocity) {
        if (start.getRawY() < finish.getRawY()) {
            Log.d( TAG,"Swiped down!" );
        } else {
            Log.d( TAG,"Swiped up!" );
        }
        return true;
    }
    @Override
    public void onLongPress(MotionEvent arg0) {
    }
    @Override
    public boolean onScroll(MotionEvent arg0,MotionEvent arg1,float arg2,float arg3) {
        return false;
    }
    @Override
    public void onShowPress(MotionEvent arg0) {
    }
    @Override
    public boolean onSingleTapUp(MotionEvent arg0) {
        Log.d( TAG,"Just tapped at " + arg0.getRawX() + "," + arg0.getRawY() + "!" );
        return false;
    }

    @Override
    public boolean onTouchEvent(MotionEvent motionEvent) {
        return gDetector.onTouchEvent(motionEvent);

不幸的是,从未击中过onFling,但是却击中了onTouchEvent。

我的问题很简单:为什么?

谢谢您的帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。