双击按钮的实现

实现双击退出:

      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();
        }

    }

 运行前:

运行后:

 

时间: 2024-12-28 23:44:36

双击按钮的实现的相关文章

屏蔽用户双击按钮产生的后续点击事件重复发生问题

屏蔽web端双击鼠标产生问题 从上面两张图就可以看出,如果用户误操作双击"确认支付并出保险"按钮,则会出现如上图现象.如何消除此现象呢? 我想到的解决方法:在调用的click事件时,设置一个flag开关,flag类型为boolean型默认值为true的且为全局变量.flag为判断条件放入if语句中,当第一次点击触发事件时,设置flag为false并执行点击事件绑定方法.如此,当用户点击第二次时,flag为false,不执行点击事件绑定方法.这就有效避免了上图问题的发生.       v

Android避免快速双击按钮最简单好用的方式

代码如下,直接放到工具类中即可.类可以实现Onclicklistener,然后重写onClick方法,直接将该函数写在onClick方法中即可,这样对于所有的点击事件都将生效. 避免了快速双击出现的异常或难解的情况. private static final int TIME = 1000; private static long lastClickTime = 0; /** * 处理快速双击,多击事件,在TIME时间内只执行一次事件 * * @return */ public static b

双击和单击事件冲突解决方法

双击和单击事件冲突解决方法:关于单击事件和双击事件,如果单独拿出来都是非常简单,这里也就不多介绍了,具体可以参阅jQuery的click事件和jQuery的dblclick事件一章节,但是如果同一个元素同时绑定了单击事件和双击事件,那么就会造成冲突现象,比如我们双击此元素指向触发双击事件,但是也完全满足单击事件的条件,不但双击事件触发了,单击事件同样也会被触发,下面就通过代码实例介绍一下如何解决它们的冲突问题,代码如下: <!DOCTYPE html> <html> <hea

Excel创建按钮调用宏

今天匆匆忙忙写了个宏,但是发现以前用来创建按钮的开发工具菜单不见了. 找了上十分钟把Excel翻了个遍,终于在Excel选项的常用中找到了,先Mark下,留个同样找不到的童鞋. 截几个图,方便大家一下子能找到哈: 接下来,你能在菜单栏看到开发工具了: 开发工具中有我们想要的各种按钮和控件,包括宏: 哈哈,恭喜你和我一样,找到按钮了,那接下来如何调用呢,下面以ActiveX控件中的按钮为例: 1.创建按钮控件并更名Index 2.双击按钮进入宏编辑模式 3.编辑你想要的VBA代码 4.退出设计模式

[转]jQuery 双击事件(dblclick)时,不触发单击事件(click)

例1: 链接:http://www.w3school.com.cn/jquery/event_dblclick.asp HTML 系列教程 浏览器脚本 服务器脚本 ASP.NET 教程 XML 系列教程 Web Services 系列教程 建站手册 jQuery 教程 jQuery 教程 jQuery 简介 jQuery 安装 jQuery 语法 jQuery 选择器 jQuery 事件 jQuery 效果 jQuery 隐藏/显示 jQuery 淡入淡出 jQuery 滑动 jQuery 动画

MFC点击按钮,按钮背景改变(实现开始和暂停的转换)

1.添加按钮ID为IDC_StartOrStop. 属性owner draw为true 2.添加变量CBitmapButton m_startorstop; 3.添加两个位图ID分别为IDB_UP,IDB_DOWN.具体方法前面博文有提到 4.在Dlg.h中 bool start; 5.在构造函数中 start=0; 6.OnInitDialog()中 m_startorstop.LoadBitmaps(IDB_UP); m_startorstop.SizeToContent();    //调

MFC点击按钮发出声音_playsound_循环/单次播放_声音文件加入程序中

在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等.同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.WAV文件的声音播放. 具体步骤如下: 1.在dlg.h中加入 #include <windows.h> #include <mmsystem.h> // 加上,不然PlaySound函数无法使用 #pragma comment(lib, "WINMM.LIB")

为什么你需要将这个按钮移动3个像素点

我会以每1~2周翻译一篇文章的速度,对用户体验设计.交互设计.互联网产品设计相关的文章进行翻译,刚刚开始翻译,难免有错误,另外我在翻译时也不会完全照原作者的表述来翻译,有些可能会改成更容易理解的白话,有错误的地方,请大家指出,我会积极改正,谢谢. 今天这一篇是关于设计师如何让团队成员关注设计细节.将产品细节打磨的更好的文章. ------------以下是文章翻译------------ 当产品即将上线的时候,我(原作者)就会变成一个完美主义者.每一个没有对齐的元素或者是奇怪的交互都是我的眼中钉

C# 时间控件 竖直进度条 饼图显示 按钮基础控件库

Prepare 本文将使用一个NuGet公开的组件来实现一些特殊的控件显示,方便大家进行快速的开发系统. 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装: Install-Package HslCommunication NuGet安装教程  http://www.cnblogs.com/dathlin/p/7705014.html 技术支持QQ群:592132877 (组件的版本更新细节也将第一时间在群里发布) Summary