Java 在android视图中双击
在视图中,我想同时检测单抽头和双抽头。它对我很管用。我可以检测到单点和双点。请找到我的密码Java 在android视图中双击,java,android,android-gesture,actionevent,Java,Android,Android Gesture,Actionevent,在视图中,我想同时检测单抽头和双抽头。它对我很管用。我可以检测到单点和双点。请找到我的密码 @Override public boolean onTouch(View view, MotionEvent me) { // No dragging during animation at the moment. // TODO: Stop animation on touch event and return to drag mode. boo
@Override
public boolean onTouch(View view, MotionEvent me) {
// No dragging during animation at the moment.
// TODO: Stop animation on touch event and return to drag mode.
boolean result = true;
result = gestureDetector.onTouchEvent(me);//return the double tap events
if(result)
return false;
switch (me.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
}
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
private String fileName;
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
// event when double tap occurs
@Override
public boolean onDoubleTap(MotionEvent e) {
float x = e.getX();
float y = e.getY();
if(player!=null && player.isPlaying())
{
player.stop();
}
else
{
setFileName(x);
player = new AudioPlayer(fileName);
player.play();
}
return true;
}
}
我正在做一些代码在行动起来的事件。因此,即使我进行双击,对于第一次点击,也会调用ACTION_UP事件并执行相应的代码。我想阻止这种事情发生。我怎样才能做到这一点。我只是想确保只有当用户完成手势时才会调用ACTION_UP。不是在他做了一个偏袒的手势之后。在这种情况下,它会在第一次点击时被调用
我如何在android中实现这一点
谢谢根据手势监听器,您需要为SingleTapConfiged和onDoubleTap返回true。否则,该事件不会被消耗,并且
gesturedector.onTouchEvent(me)代码>返回false。您的问题没有太多意义。虽然您不能更改运动事件
,但您可以进行更改,例如,每次按下/触摸时,它都会计算自上次按下后的时间,然后根据该时间执行不同的操作。检查我更新的答案;我相信您在onXTap
函数中返回了错误的值。他在onSingleTapConfirmed
中返回的值与gesturedetor
返回的值不同。这就是为什么我说我对此不确定。我应该把它作为评论发布……我检查了文档,似乎SingletAPconfirm和onDoubleTap返回了错误的值。