实现双击、多击(多次点击)功能

我们常常用的双击功能,比如:双击返回。

此篇文章,我们来实现双击很多击的功能。

1、双击(时间差法)

private long firstcliktime;

//System.currentTimeMillis()得到当前时间,long型
if(firstcliktime >0){
	if(System.currentTimeMillis() - firstcliktime <= 500){
	    //双击成功,Toast
            Toast.makeText(this,"dbClick!",Toast.LENGTH_SHORT).show();
	}
}
firstcliktime = System.currentTimeMillis();

2、双击(计时器法)

private boolean b = true;

//开始b为true,第一次点击,b置为false,500毫秒后重新置为true
//当b为false时,执行操作
if(b) {
	b=false;
	//设置定时器,500毫秒后b重新置为true
        new Timer().schedule(new TimerTask() {
		@Override
		public void run() {
		b = true;
		}
        }, 500);
}else{
 	//双击成功,Toast
        Toast.makeText(this,"dbClick!",Toast.LENGTH_SHORT).show();
}

3、双击、多击(谷歌大法)

此方法有点难以理解,不过不要紧,因为这代码只有谷歌大神才能写出来,我们只是看看。


long[] mHits = new long[2];// 数组长度表示要点击的次数

System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
mHits[mHits.length - 1] = SystemClock.uptimeMillis();// 开机后开始计算的时间
if (mHits[0] >= (SystemClock.uptimeMillis() - 500)) {
	//点击成功,Toast
        Toast.makeText(this, "是男人!!!", Toast.LENGTH_SHORT).show();
}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值