How to catch double tap events in Android using OnTouchListener? double click event in android

如何通过onTouchEvent实现Double Click,判断为双击事件  

private final int DOUBLE_TAP_TIMEOUT = 200;private MotionEvent mCurrentDownEvent;private MotionEvent mPreviousUpEvent;OnTouchListener mTouchListener = new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {if (event.getAction() == MotionEvent.ACTION_DOWN) {if (mPreviousUpEvent != null&& mCurrentDownEvent != null&& isConsideredDoubleTap(mCurrentDownEvent,mPreviousUpEvent, event)) {Log.e(TAG, "Double click=============");}mCurrentDownEvent = MotionEvent.obtain(event);} else if (event.getAction() == MotionEvent.ACTION_UP) {mPreviousUpEvent = MotionEvent.obtain(event);}return true;}};private boolean isConsideredDoubleTap(MotionEvent firstDown,MotionEvent firstUp, MotionEvent secondDown) {if (secondDown.getEventTime() - firstUp.getEventTime() > DOUBLE_TAP_TIMEOUT) {return false;}int deltaX = (int) firstUp.getX() - (int) secondDown.getX();int deltaY = (int) firstUp.getY() - (int) secondDown.getY();return deltaX * deltaX + deltaY * deltaY < 10000;}

再通过View设置Touch监听


view.setOnTouchListener(mTouchListener);



更多相关文章

  1. android TextView的跑马灯效果的实现
  2. Android的权限permission
  3. Android(安卓)wifi提示已连接但是无法访问网络
  4. view measure详解
  5. android shape 常用到属性的设置
  6. android在java代码中绘制矩形框
  7. android 自定义对话框 背景透明
  8. Android获取通话状态
  9. Android(安卓)判断是否能真正上网

随机推荐

  1. android通过两种方法开启一个线程
  2. Android中的权限机制
  3. 9.5、Libgdx加速度计
  4. android ndk知识汇总——1
  5. MacOS 10.15 下 Android(安卓)Q 源码 下
  6. 2020年疫情下的Android跳槽之路
  7. Android(安卓)adt v22.6.2-1085508 自己
  8. Android(安卓)View绘制流程(结合源码分析)
  9. android运行时权限解决办法(含有申请权限
  10. Android(安卓)安卓开发参考书电子书 资料