android 处理双击事件

来源:互联网 发布:青年网络公开课 编辑:程序博客网 时间:2024/05/22 15:47
// 计算点击的次数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时,进行双击的操作响应 

原创粉丝点击