Android界面雙擊退出實現

非常常見的功能 這里額外實現了有側滑菜單的版本

/**
 * 菜單、返回鍵響應
 */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if(keyCode == KeyEvent.KEYCODE_BACK)
    {
        exitBy2Click(); //調用雙擊退出函數
    }
    return false;
}
/**
 * 雙擊退出函數
 */
private static Boolean isExit = false;

private void exitBy2Click() {
    Timer tExit = null;
    if (!isExit) {
        isExit = true; // 準備退出
        Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
        tExit = new Timer();
        tExit.schedule(new TimerTask() {
            @Override
            public void run() {
                isExit = false; // 取消退出
            }
        }, 2000); // 如果2秒鐘內沒有按下返回鍵,則啟動定時器取消掉剛才執行的任務

    } else {
        finish();
        System.exit(0);
    }
}

包含側滑菜單版本

/* @描述 菜單、返回鍵響應 */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if(keyCode == KeyEvent.KEYCODE_BACK)
    {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            exitBy2Click(); //調用雙擊退出函數
        }
    }
    return false;
}

/* @描述 雙擊返回函數 */
private static Boolean isExit = false;

private void exitBy2Click() {
    Timer tExit = null;
    if (!isExit) {
        isExit = true; // 準備退出
        Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
        tExit = new Timer();
        tExit.schedule(new TimerTask() {
            @Override
            public void run() {
                isExit = false; // 取消退出
            }
        }, 2000); // 如果2秒鐘內沒有按下返回鍵,則啟動定時器取消掉剛才執行的任務

    } else {
        finish();
        System.exit(0);
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,117評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,202評論 4 61
  • 這本書很久就看完了,但是一直拖著沒有寫讀后感,今天又重新溫習了一遍??赐赀@本書,被阿嬤(外婆)的人生智慧深深折服,...
    彝月閱讀 963評論 0 1
  • 這種男人再好都不能嫁 文/胡大小姐 昨晚接了一通長長的電話,是小咪打來的。小咪是我們圈子里有名的貴婦,老公事業有成...
    41813ed69537閱讀 205評論 0 1
  • 堅持每晚散步一小時,到現在已經半年多了。前段時間天氣炎熱,大多是去河邊散步,在涼爽的河風輕拂下隨意漫步,別有一番風...
    千禾隨筆閱讀 809評論 44 63