android 通过onTouchEvent判断是否为双击事件
来源:互联网 发布:网络短信106免费版 编辑:程序博客网 时间:2024/06/05 10:58
通过onTouchEvent判断是否为双击事件,通过前面一次up 跟本次down之间的时间差,并且点击的点的坐标偏移来确定是否为双击事件DOUBLE_TAP_TIMEOUT
boolean isMove = false;private final int DOUBLE_TAP_TIMEOUT = 200;private MotionEvent mCurrentDownEvent;private boolean mDoubleTapEnabled = false;private MotionEvent mPreviousUpEvent;@Overridepublic void onTouchEvent(MotionEvent event) { Log.e(LOG_TAG, "MotionEvent="+ event.getAction()+",isMove="+isMove); Log.e(LOG_TAG, "mPreviousUpEvent="+ mPreviousUpEvent+",mCurrentDownEvent="+mCurrentDownEvent); if (event.getAction() == MotionEvent.ACTION_MOVE) { isMove = true;} else if (event.getAction() == MotionEvent.ACTION_DOWN) {if (mPreviousUpEvent != null && mCurrentDownEvent != null && isConsideredDoubleTap(mCurrentDownEvent, mPreviousUpEvent, event)) {if (mDoubleTapEnabled && Environment.getExternalStorageState().equals("mounted")) {Toast.makeText(getApplicationContext(), getResources().getString(R.string.double_click), Toast.LENGTH_LONG).show();}}mCurrentDownEvent = MotionEvent.obtain(event);}else if (event.getAction() == MotionEvent.ACTION_UP){mPreviousUpEvent = MotionEvent.obtain(event);isMove = false;}}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;}
0 0
- android 通过onTouchEvent判断是否为双击事件
- 在Android中,如何通过onTouchEvent实现Double Click,判断为双击事件
- Android通过代码判断当前设备是否为模拟器
- Android双击,连续多次点击事件判断
- Android双击事件(判断时间范围)
- Android onTouchEvent事件
- Android判断是否为Wifi
- Android通过onTouch事件实现单击,双击,长按
- Android通过onTouch事件实现单击,双击,长按
- android中根据touch事件判断单击及双击
- Android使用ValueAnimator实现双击事件的判断
- Mac 下面判断双击事件
- 判断鼠标单双击事件
- android 判断网络是否连接 通过NetworkInfo
- android 处理双击事件
- android 双击事件
- android处理双击事件
- android双击事件
- 来自西弗吉利亚大学li xin整理的CV代码合集
- Java设计模式之代理
- 【转】appium for windows 环境搭建
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 解析JS的数据类型转换
- android 通过onTouchEvent判断是否为双击事件
- Spring中tx命名空间和配置注解工作原理浅析
- pat 1021
- HP G42-474TX在Win分区方法
- 使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)
- 由苹果的低级Bug想到的
- ssh客户端连接freebsd问题
- struts2学习笔记(四)基于xml的框架校验
- 为应变计应用选择合适的放大器