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 OnFocuChangeListener焦點(diǎn)事件詳解
這篇文章主要為大家詳細(xì)介紹了Android OnFocuChangeListener焦點(diǎn)事件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
Android開發(fā)AsmClassVisitorFactory使用詳解
這篇文章主要為大家介紹了Android開發(fā)AsmClassVisitorFactory使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Android通過AlarmManager類實(shí)現(xiàn)簡(jiǎn)單鬧鐘功能
這篇文章主要為大家詳細(xì)介紹了Android通過AlarmManager類實(shí)現(xiàn)簡(jiǎn)單鬧鐘功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
Android編程實(shí)現(xiàn)的首頁左右滑動(dòng)切換功能示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)的首頁左右滑動(dòng)切換功能,涉及Android事件監(jiān)聽及響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-07-07
Android LayerDrawable超詳細(xì)講解
一個(gè)LayerDrawable是一個(gè)可以管理一組drawable對(duì)象的drawable。在LayerDrawable的drawable資源按照列表的順序繪制,所以列表的最后一個(gè)drawable繪制在最上層2022-11-11
Android 中 EventBus 的使用之多線程事件處理
這篇文章主要介紹了Android 中 EventBus 的使用之多線程事件處理的相關(guān)資料,需要的朋友可以參考下2015-11-11
6步輕松實(shí)現(xiàn)兩個(gè)listView聯(lián)動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了教大家通過6步輕松實(shí)現(xiàn)兩個(gè)listView聯(lián)動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04

