android 处理双击事件

	// 计算点击的次数
	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时,进行双击的操作响应 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值