Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SimpleNogestureListener,onDoubleTapEvent在短时间后暂停,直到手势完成_Android - Fatal编程技术网

Android SimpleNogestureListener,onDoubleTapEvent在短时间后暂停,直到手势完成

Android SimpleNogestureListener,onDoubleTapEvent在短时间后暂停,直到手势完成,android,Android,我正在尝试使用双击并按住/移动来实现平移操作(旋转操作已经执行了单次点击并按住/移动)。但是,OnDoubleTapeEvent函数在用户移动时仅接收约18个MotionEvent,然后暂停,直到用户完成手势,此时它将在实际完成手势之前再接收一个MotionEvent 因此,用户可以将对象平移一小段距离,在这一点上,即使用户仍在拖动,对象也会冻结。当用户释放时,对象将捕捉到正确的位置。我希望用户能够拖动/平移她/他想要的任何时间。任何提示都将不胜感激 这是onDoubleTap和onDouble

我正在尝试使用双击并按住/移动来实现平移操作(旋转操作已经执行了单次点击并按住/移动)。但是,OnDoubleTapeEvent函数在用户移动时仅接收约18个MotionEvent,然后暂停,直到用户完成手势,此时它将在实际完成手势之前再接收一个MotionEvent

因此,用户可以将对象平移一小段距离,在这一点上,即使用户仍在拖动,对象也会冻结。当用户释放时,对象将捕捉到正确的位置。我希望用户能够拖动/平移她/他想要的任何时间。任何提示都将不胜感激

这是onDoubleTap和onDoubleTapEvent函数的实现:

            @Override
            public boolean onDoubleTap(MotionEvent event) {

                eventpan.x = event.getX();
                eventpan.y = event.getY();

                return true;
            }

            @Override
            public boolean onDoubleTapEvent(MotionEvent event) {

                oglrenderer.panx +=   0.005f * ( event.getX() - eventpan.x);
                oglrenderer.pany += - 0.005f * ( event.getY() - eventpan.y);

                eventpan.x = event.getX();
                eventpan.y = event.getY();

                return true;
            }  
这只是更改渲染器中平移的x和y坐标,其onDraw函数基本上如下所示:

public void onDrawFrame(GL10 gl) {          

    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);

    gl.glLoadIdentity();                        
    gl.glPushMatrix();                 

    gl.glTranslatef(panx, pany, zoom); 

    object.draw(gl);               

    gl.glPopMatrix();  
    gl.glFlush();


}

我目前正在为Android 4.0设计API级别14。同样,任何提示都将不胜感激。

与其说是答案,不如说是提示。我正试图解决一个类似的问题,我发现一个LongPress事件发生了,它结束了大多数未来的事件。研究它;似乎GestureDetector类强制在LongClick事件上返回true,或者类似的东西。我将继续研究它,并希望尽快找到一个合适的解决方案

编辑:所以目前我设置为长按启用(false),以允许双击滚动工作。不太好,因为我确实希望最终也有一个长点击的手势,但它现在起作用了