Android 兩種方法實(shí)現(xiàn)長(zhǎng)按返回健退出
Android 長(zhǎng)按返回健退出
背景
平常比較常見的都是一定時(shí)間間隔內(nèi)按兩次返回鍵來退出應(yīng)用,并且第一次點(diǎn)擊會(huì)有相應(yīng)的提示,網(wǎng)上資料比較多,這里寫一下,長(zhǎng)按返回鍵退出。
實(shí)現(xiàn)
實(shí)現(xiàn)的方案常用的有兩個(gè):
重寫dispatchKeyEvent(KeyEvent event)方法
重寫onKeyDown(int keyCode, KeyEvent event)方法
方案一
@Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.isLongPress()) { //do something else System.exit(0); return true; } return false; }
代碼很簡(jiǎn)單,如果按下了返回鍵且是長(zhǎng)按,則退出。
方案二
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { Toast.makeText(this, "長(zhǎng)按返回鍵退出", Toast.LENGTH_SHORT).show(); } else if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 2) { //do something else System.exit(0); } return false; }
推薦本方案,可以修改else if中event.getRepeatCount()==的次數(shù)來修改長(zhǎng)按的時(shí)間,event.getRepeatCount() 為0時(shí)代表單擊了一次,當(dāng)次數(shù)>=1時(shí)就代表長(zhǎng)按了,值越大,說明按的時(shí)間越長(zhǎng)。
之所以推薦本方案,因?yàn)榭梢栽诘谝淮吸c(diǎn)擊返回鍵的時(shí)候提醒用戶。
后記
本來準(zhǔn)備多整理些資料一起發(fā)出來,掘金剛剛在內(nèi)測(cè)發(fā)布工具,這里就手寫一篇試試感覺如何,體驗(yàn)還是很棒的。以下是個(gè)人意見:
優(yōu)點(diǎn):
- 配色漂亮
- 界面干凈,寫作比較專注,適合有經(jīng)驗(yàn)的老手
- 響應(yīng)快,對(duì)MarkDown語法的細(xì)節(jié)處理的不錯(cuò)
缺點(diǎn):
- 界面沒有引導(dǎo),新手會(huì)蒙圈吧
- 左邊的寫作區(qū)的配色是暗色,沒有可選性(難道根據(jù)時(shí)間換白色和黑色主題?)
- 不支持流程圖等高級(jí)功能
總的來說,基本功能都是有的,界面比較干凈,這個(gè)是優(yōu)點(diǎn)也是缺點(diǎn)了,相對(duì)而言,更適合把MarkDown語法熟記于心的人。
最后,來個(gè)配圖看看寫作界面:
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android Listview中顯示不同的視圖布局詳解及實(shí)例代碼
- Android實(shí)現(xiàn)ImageView陰影和圖層效果
- 詳解Android中的MVP架構(gòu)分解和實(shí)現(xiàn)
- android使用AsyncTask實(shí)現(xiàn)多線程下載實(shí)例
- android多種滑動(dòng)沖突的解決方案
- 很實(shí)用的Android日期計(jì)算類
- Android實(shí)現(xiàn)圖片上傳功能
- Android 中StringBuffer 和StringBuilder常用方法
- Android獲取聯(lián)系人姓名和電話代碼
- Android引導(dǎo)頁面的簡(jiǎn)單實(shí)現(xiàn)
- android基于dialog實(shí)現(xiàn)等待加載框示例
相關(guān)文章
Android碎片fragment實(shí)現(xiàn)靜態(tài)加載的實(shí)例代碼
這篇文章主要介紹了Android碎片fragment實(shí)現(xiàn)靜態(tài)加載的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Android多媒體應(yīng)用使用SoundPool播放音頻
這篇文章主要為大家詳細(xì)介紹了Android多媒體應(yīng)用使用SoundPool播放音頻,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android開發(fā)之PopupWindow創(chuàng)建彈窗、對(duì)話框的方法詳解
這篇文章主要介紹了Android開發(fā)之PopupWindow創(chuàng)建彈窗、對(duì)話框的方法,結(jié)合實(shí)例形式詳細(xì)分析了Android使用PopupWindow創(chuàng)建對(duì)話框相關(guān)操作技巧,需要的朋友可以參考下2019-03-03Android編程之微信SDK分享功能過程步驟詳細(xì)分析
這篇文章主要介紹了Android編程之微信SDK分享功能過程步驟詳細(xì)分析,較為詳細(xì)的分析了Android微信SDK分享功能的原理、步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-10-10Android自定義View模仿即刻點(diǎn)贊數(shù)字切換效果實(shí)例
有一個(gè)項(xiàng)目是仿即刻的點(diǎn)贊,這篇文章主要給大家介紹了關(guān)于Android自定義View模仿即刻點(diǎn)贊數(shù)字切換效果的相關(guān)資料,文中通過示例代碼介紹 的非常詳細(xì),需要的朋友可以參考下2022-12-12微信支付僅能成功調(diào)用一次問題的解決方法(Android)
這篇文章主要介紹了微信支付僅能成功調(diào)用一次問題的解決方法,感興趣的小伙伴們可以參考一下2016-08-08Android studio 如何刪除項(xiàng)目 module
本篇文章主要介紹了Android studio 如何刪除項(xiàng)目module的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05最常見的猜拳小游戲Android代碼實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了最常見的猜拳小游戲Android代碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08解決VSCode調(diào)試react-native android項(xiàng)目錯(cuò)誤問題
這篇文章主要介紹了VSCode調(diào)試react-native android項(xiàng)目錯(cuò)誤解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12