Android双击事件实现


双击退出应用

long firstPressTime = 0;
/**
 * 双击返回键退出应用
 */
public void onBackPressed(){
    long now = System.currentTimeMillis();
    if ((now - firstPressTime) > 2000){
        Snackbar snackbar = Snackbar.make(getCurrentFocus(),"再按一次退出",Toast.LENGTH_SHORT);
                setSnackbarColor(snackbar,Color.BLUE,Color.WHITE);
                snackbar.show();
        firstPressTime = now;
    }else {
        finish();
        System.exit(0);
    }
}

双击响应事件

利用Handler控制点击事件

long firstPressTime = 0;
long mNow = 0;
final Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case 1:
                    Snackbar.make(getCurrentFocus(),"双击事件",Snackbar.LENGTH_SHORT).show();
                    break;
                case 2:
                    Snackbar.make(getCurrentFocus(),"单击事件",Snackbar.LENGTH_SHORT).show();
                    break;
            }
        }
    };

btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            firstPressTime=mNow;
            mNow= System.currentTimeMillis();
            if (mNow - firstPressTime < 300){//双击事件
               //先移除消息栈里面的单击消息
                handler.removeMessages(2);
                handler.sendEmptyMessage(1);
                mNow= 0;
            }else {//单击事件
                //发送0.31s的延时message,便于区分单双击事件
                handler.sendEmptyMessageDelayed(2,310);
            }
        }
    });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,002评论 25 709
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,246评论 6 13
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 6,154评论 4 26
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-androi...
    eddy_wiki阅读 3,312评论 0 20
  • 我感觉很孤独,我想和别人链接,可是我觉得自己不够好,我害怕被抛弃,所以我需要掩藏自己的缺点,呈现自己的阳光面,我的...
    竺子阅读 274评论 0 0