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阅读 161,730评论 24 692
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 8,029评论 6 13
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 4,210评论 2 20
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-androi...
    eddy_wiki阅读 2,219评论 0 20
  • 我感觉很孤独,我想和别人链接,可是我觉得自己不够好,我害怕被抛弃,所以我需要掩藏自己的缺点,呈现自己的阳光面,我的...
    竺子阅读 105评论 0 0
  • 六月三次出差,而且都是跨周末,一去就是一周,感觉整个人的生活节奏都被打乱了,状态变差,能量下滑。 某天抱怨时,看到...
    何贰萌阅读 813评论 0 4
  • 时间是个无赖,总喜欢毁灭期待。 今天想来说说一个刹那的你。 ——for you 早早地到达了办公室,拉上窗帘...
    简小取阅读 366评论 3 5