双击按钮的实现

实现双击退出:

      1.单击,弹出提示对话框,提示再按一下退出

     2.再次点击--判断两次点击间隔时间
*        小于3s退出

按钮的点击事件:

public void onClick(View view){
        //记录当前时间
        currentTime = System.currentTimeMillis();
        //如果当前时间-设定时间 大于3s
        if(currentTime - time > 3000){
            Toast.makeText(OnClickActivity.this, "再按一次退出程序", 0).show();
            Log.i("tag", "currentTime - time"+currentTime+"---"+time+"---"+(currentTime-time));
            //记录点击的时间
             time = currentTime;
        }else{
            //小于,退出当前界面
            finish();
        }

手机返回键的点击事件:
/**
     * 
     * 重写父类的方法
     */
    @Override
    public void onBackPressed() {
        currentTime = System.currentTimeMillis();
        if(currentTime - time > 3000){
            Toast.makeText(OnClickActivity.this, "再按一次退出程序", 0).show();
            Log.i("tag", "currentTime - time"+currentTime+"---"+time+"---"+(currentTime-time));
             time = currentTime;
        }else{
            finish();
        }
    }

 运行效果:

通过数组的位移实现双击,三击,四击..

    public void onClick(View view){
        //先将数组进行copy,从下标为1的位置,拷贝到下标为0的位置,拷贝长度为1
        //进行移位
        System.arraycopy(timeArray, 1, timeArray, 0, timeArray.length-1);
        //点击记录当前的时间
        timeArray[timeArray.length-1] = System.currentTimeMillis();
        //当最后一位-第一位小于1000,弹出吐丝
        if(timeArray[timeArray.length-1]-timeArray[0]<=1000){
            Toast.makeText(OnClickActivity.this, "双击了按钮--"+(timeArray[timeArray.length-1]-timeArray[0]), 0).show();
        }
        
    }

 运行前:

运行后:

 

原文地址:https://www.cnblogs.com/fangg/p/5904077.html