Android里有两个类
android.view.GestureDetector
android.view.GestureDetector.SimpleOnGestureListener

1) 新建一个类继承SimpleOnGestureListener,HahaGestureDetectorListener ,可以实现以下event事件。

booleanonDoubleTap(MotionEvent e)
解释:双击的第二下Touch down时触发

booleanonDoubleTapEvent(MotionEvent e)
解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。

booleanonDown(MotionEvent e)
解释:Touch down时触发

booleanonFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
解释:Touch了滑动一点距离后,up时触发。

voidonLongPress(MotionEvent e)
解释:Touch了不移动一直Touch down时触发

booleanonScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
解释:Touch了滑动时触发。

voidonShowPress(MotionEvent e)
解释:Touch了还没有滑动时触发

与onDown,onLongPress比较 :onDown只要Touch down一定立刻触发。
而Touchdown后过一会没有滑动先触发onShowPress再是onLongPress。
所以Touchdown后一直不滑动,onDown->onShowPress->onLongPress这个顺序触发。


booleanonSingleTapConfirmed(MotionEvent e)
booleanonSingleTapUp(MotionEvent e)
解释:上面这两个函数都是在touch down后又没有滑动(onScroll),又没有长按(onLongPress),然后Touchup时触发。

点击一下非常快的(不滑动)Touchup:
onDown->onSingleTapUp->onSingleTapConfirmed

点击一下稍微慢点的(不滑动)Touchup:
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed


2)在view的新建一个GestureDetector的对象。
构造函数里
gestureDetector = new GestureDetector(new HahaGestureDetectorListener());

然后在View的onTouchEvent里以下这样用,就可以在刚才1)弄的事件里写自己的代码了。
@Override
public boolean onTouchEvent(MotionEvent event) {
gestureDetector.onTouchEvent(event);
}

更多相关文章

  1. Android双列滑动表格(双表头不动)
  2. android 自带 xml解析
  3. android之OnGestureListener实现图片的左右滑动
  4. android Seekbar双滑块滑动
  5. android scrollview滑动时悬浮部分控件
  6. Android(安卓)创建与解析XML(三)—— Sax方式(源码)
  7. 分享一个Android左右侧滑的效果实现 sliding layout
  8. Android那些“没用“知识(一)
  9. android仿滴滴司机端滑动接到乘客,送达乘客的滑动Button

随机推荐

  1. android中bitmap和drawable互相转换
  2. android倒计时控件示例
  3. android 版本跟新之打开下载好的
  4. error: resource android:attr/rippColor
  5. Android调用相机拍照并返回路径和调用系
  6. Android之百度推送高级篇之消息【原创】
  7. Android更新页面上的数据的常见三种方法
  8. Android(安卓)解压中文乱码(压缩包内中文
  9. Cocos2d-x Android 环境配置
  10. android JNI笔记