Android - 自定义多击事件

按钮双击事件 :

双击的原理:当第一次点击的时候记录下点击的时间 A,然后第二次点击的时候获取到第二次的时间 B。如果 B -500 的差值小于上一次点击的时间的话,则认为这两次点击是一次双击事件。

通过记录点击开始时间,到第二次的点击事件,相减得出的时间,将时间判断是否大于500毫秒,是大于500毫秒就是双击了

		if(firstclicktime > 0){
			long sencondclicktime = SystemClock.uptimeMillis();
			long time = sencondclicktime - firstclicktime;
			if(time < 500){
					Toast.makeText(this, "双击", Toast.LENGTH_SHORT).show();
			}else {
				firstclicktime = 0;
			}
			return ;
		}
		firstclicktime = SystemClock.uptimeMillis();

然而这种方法远远不能达到要求,如果有多次点击代码启不是更麻烦?

所以我们采用google给我们提供的代码,进行使用

	private long[] hits = new long[2];
	System.arraycopy(hits, 1, hits, 0, hits.length - 1);
				// 重新给 mHits[1]赋值
				hits[hits.length - 1] = SystemClock.uptimeMillis();
				if (hits[0] >= (SystemClock.uptimeMillis() - 500)) {
				Toast.makeText(this, "双击", Toast.LENGTH_SHORT).show();

点击的次数激活其中就在定义的数组个数上




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值