您的位置:首页 > 移动开发 > Android开发

android 处理双击事件

2011-09-19 16:40 363 查看
// 计算点击的次数
private int count = 0;
// 第一次点击的时间 long型
private long firstClick = 0;
// 最后一次点击的时间
private long lastClick = 0;
private ButtonOnTouchListener listener = new ButtonOnTouchListener();
private class ButtonOnTouchListener implements OnTouchListener
{
@Override
public 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时,进行双击的操作响应
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: