android - 永远不会调用 OnGestureListener onDown 方法

标签 android gesture

我的 onScrollonTouchEvent 被调用,但不是 onDown 方法。事实上,当我在 onDown 中记录 distaceX 时,我会注销其中的几个,第一个总是相对于我上次滚动结束的位置。

 @Override 
 public boolean onTouchEvent(MotionEvent me){ 
   this.detector.onTouchEvent(me);

  return super.onTouchEvent(me); 
 }

 @Override
 public boolean onDown(MotionEvent e) {
       Log.d("---onDown---",".");
   return false;

 }

 @Override
 public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
   float distanceY) {
  Log.d("---onScroll---", "" + distanceX);
  return false;
 }

知道为什么 onDown 不会被调用吗?

编辑:

我将 onTouchEvent 更改为以下 block ,并且仅记录 ACTION_MOVE。

 float gestureDistance = 0;
 @Override 
 public boolean onTouchEvent(MotionEvent me){ 
     switch (me.getAction() & MotionEvent.ACTION_MASK) {
        case MotionEvent.ACTION_DOWN:               
            Log.d("actionDown", "gestureDistance:" + gestureDistance);
            break;
        case MotionEvent.ACTION_UP:
            Log.d("actionUp", "gestureDistance:" + gestureDistance);
            break;
        case MotionEvent.ACTION_MOVE:
            Log.d("actionMove", "gestureDistance:" + gestureDistance);
            break;
        default:
            Log.d("action default", "default");
            break;
    }   

编辑: 我认为问题在于我的 View 是 WebView。我可以防止 WebView 窃取我的事件吗?

最佳答案

你为什么不做这样的事情:

@Override
public boolean onTouchEvent(MotionEvent event) {        

    switch (event.getAction() & MotionEvent.ACTION_MASK) {
        case MotionEvent.ACTION_DOWN:               
            //Do something on action down.
        case MotionEvent.ACTION_UP:
            //Do something on action up.
            break;
        case MotionEvent.ACTION_MOVE:
            //Do something when moving.
            break;
    }   

    return true;
}

希望这对您有所帮助。

关于android - 永远不会调用 OnGestureListener onDown 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730425/

相关文章:

javascript - SVG:使用 JavaScript 进行缩放手势

安卓 setOnTouchListener

java - Android AccessibilityService onGesture() 正在禁用触摸

android - 使用 android 将照片发布到 facebook 上 friend 的墙上

javascript - 使用纯 Javascript 在 Android 上使用 mosync/phonegap 从 SD 卡读取文件

android - 方向改变时手势清除

ios - 如何使用像 TikTok App 这样的平移手势来缩放相机

java - 关于在 android 中使用基数树在 240k 单词列表中进行英语词典单词查找的问题

android - 高效地缓存、传递和查看位图 Android

android - 如何在android 6.0中获取read_phone_state权限