android简单的手势判断

这里不讨论 onTouchEven 等情况

在复杂的手势下,可以继承GestureDetector (Gesture 手势 Detector 识别)下的SimpleOnGestureListner这个类,只接受我们想要判断的手势,比如onDoubleTap(双击)、onSingleTapUp(点击)等等,然后相应的执行我们的逻辑。

 class MyGesture extends GestureDetector.SimpleOnGestureListener {//单手指操作  

        @Override //双击  
        public boolean onDoubleTap(MotionEvent e) {  
            System.out.println("--onDoubleTap---");  
            return true;  
        }  

        @Override //单击
        public boolean onSingleTapUp(MotionEvent e) {  
            System.out.println("--onSingleTapUp---");  
            return true;  
        } 
        @Override  
        public boolean onDoubleTapEvent(MotionEvent e) {  
            System.out.println("--onDoubleTapEvent---");  
            return super.onDoubleTapEvent(e);  
        }  
    }  

参考
按下(onDown): 刚刚手指接触到触摸屏的那一刹那,就是触的那一下。
抛掷(onFling): 手指在触摸屏上迅速移动,并松开的动作。
长按(onLongPress): 手指按在持续一段时间,并且没有松开。
滚动(onScroll): 手指在触摸屏上滑动。
按住(onShowPress): 手指按在触摸屏上,它的时间范围在按下起效,在长按之前。
抬起(onSingleTapUp):手指离开触摸屏的那一刹那。

参考

1. 点击屏幕上的某项的执行流程  有两种情况,一种是时间很短,一种时间稍长

时间很短:onDown--------》onSingleTapUp--------》onSingleTapConfirmed

时间稍长:onDown--------》onShowPress------》onSingleTapUp--------》onSingleTapConfirmed

2. 长按事件

onDown--------》onShowPress------》onLongPress

3.抛:手指触动屏幕后,稍微滑动后立即松开

onDown-----》onScroll----》onScroll----》onScroll----》………----->onFling

4.拖动

onDown------》onScroll----》onScroll------》onFiling

注意:有的时候会触发onFiling,但是有的时候不会触发,个人理解是人的动作不标准所致。

借鉴这里:
http://blog.csdn.net/xiezhenxiang/article/details/6659506

你可能感兴趣的:(android)