android 处理双击事件
16lz
2021-01-23
// 计算点击的次数private int count = 0;// 第一次点击的时间 long型private long firstClick = 0;// 最后一次点击的时间private long lastClick = 0;private ButtonOnTouchListener listener = new ButtonOnTouchListener();private class ButtonOnTouchListener implements OnTouchListener{@Overridepublic boolean onTouch(View v, MotionEvent event){if (event.getAction() == MotionEvent.ACTION_DOWN){// 如果第二次点击 距离第一次点击时间过长 那么将第二次点击看为第一次点击if (firstClick != 0 && System.currentTimeMillis() - firstClick > 500){count = 0;}count++;if (count == 1){firstClick = System.currentTimeMillis();} else if (count == 2){lastClick = System.currentTimeMillis();// 两次点击小于500ms 也就是连续点击if (lastClick - firstClick < 500){//Log.v("Double", "Double");if (vv.isScale()){vv.setScale(false);}else{vv.setScale(true);}}clear();}}return false;// 清空状态private void clear(){count = 0;firstClick = 0;lastClick = 0;}}上面是一个实现了触摸(OnTouchListener)接口的双击事件监听器,双击间隔不大于500ms,供大家参考,此值可以自行设置。
原理:记录第一次和第二次点击时的系统时间,当第二次的时间与第一次的时间差小于300ms时,进行双击的操作响应
更多相关文章
- Android最佳实践之性能 - 电池续航时间优化
- Android 缩减make时间
- 【摘录】 Android中如何修改系统时间(应用程序获得系统权限)
- 如何在Android中格式化日期和时间?
- No 94 · android 在规定时间内跳转到其他页面
- 第三十六天 一乐在其中—Android的按钮单击事件及监听器的实现方