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 Button 控件绑定单击事件
  2. Android中Touch事件的处理
  3. Android03_事件处理
  4. android 事件流转机制
  5. 【android基础】之Android返回键处理(事件)
  6. Android事件分发

随机推荐

  1. 【Android】 Android中适配器简介
  2. android studio debug签名设置
  3. Android 实现跳转到Google Play 详情页
  4. android打开联系人的代码
  5. android日期控件显示
  6. android java 检测文件夹(目录)是否存在,
  7. android获取控件宽高
  8. Android 自定义 LinearLayout
  9. Android 中颜色对应的值
  10. Android手机卫士(一)