手势识别器的使用:

 detector=new GestureDetector(context, new OnGestureListener() {
            
            @Override//有手指(当多个手指触摸到屏幕的时候)抬起的时候调用
            public boolean onSingleTapUp(MotionEvent e) {
                //System.out.println("onSingleTapUp-有手指抬起");
                return true;
            }
            
            @Override//手指触碰到屏幕上调用
            public void onShowPress(MotionEvent e) {
                //System.out.println("onShowPress--没松开或者拖动");
            }
            
            @Override//滑动的时候调用
            public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
                    float distanceY) {
                System.out.println("滑动");
                /**
                 * 移动当前view的内容
                 * distanceX   X方向滑动的距离
                 * distanceY   Y方向滑动的距离
                 */
                scrollBy((int) distanceX, 0);//让当前的屏幕移动distanceX的距离
                
                return true;
            }
            
            @Override//长按的时候调用
            public void onLongPress(MotionEvent e) {
                //System.out.println("onLongPress--长按");
            }
            
            @Override//快速滑动调用
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                    float velocityY) {
                //System.out.println("onFling--快速滑动");
                return true;
            }
            
            @Override//按下的时候调用
            public boolean onDown(MotionEvent e) {
                System.out.println("onDown--按下");
                /*Message mes=handler.obtainMessage();
                handler.sendMessage(mes);*/
                return true;
            }
        }, null);//如果想在子线程完成就可以new一个Handler实现通讯

使用SimpleOnGestureListener

//SimpleOnGestureListener实现了OnGestureListener
       GestureDetector detector=new GestureDetector(this, new SimpleOnGestureListener(){
           //重写需要的手势方法就行
  });

 

版权声明:本文为tangs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tangs/articles/5770377.html