如何实现按两次退出的效果

来源:互联网 发布:文明5美丽新世界 mac 编辑:程序博客网 时间:2024/06/10 05:08

思路:实现的思路其实很简单:定义一个isExit=false,写一个函数,


函数里面实现的功能是:当isExit是false的时候,让他变为true,


用Toast显示“再按一次退出程序”。用一个handler延迟两秒后才进行执行:


让他变回false为了下次实现同样的功能。否则就是true,


然后就是OnKeyDown函数的实现,点击时调用上面的函数


具体实现如下:


定义一个isExit=false;


/** 设置isExit来判断是否退出** */private boolean isExit=false;


写一个函数exit()供KEYDOWN调用


/** 判断isExit的状态,判断是否退出** */private void exit(){     if (!isExit)     {        isExit=true;        Toast.makeText(MainActivity.this,"再按一次退出程序",Toast.LENGTH_SHORT).show();        handler.sendEmptyMessageDelayed(0,2000);     }    else     {       finish();       System.exit(0);     }}


写一个Handler,延迟两秒后把isExit的状态调回来,给下一次使用



/** 延长两秒,如果没有继续按下退出键的话,isExit依旧是false的状态** */Handler handler=new Handler(){    @Override    public void handleMessage(Message msg)    {        super.handleMessage(msg);        isExit=false;    }};


最后一个OnKeyDown方法的实现,仅仅需要调用exit这个函数便可


/** 监控用户按下的按钮状态** */@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event){    if (keyCode==KeyEvent.KEYCODE_BACK)    {      exit();      return false;    }    return super.onKeyDown(keyCode, event);}

OK,按两次退出的功能到此就全部结束了;










0 0
原创粉丝点击