日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

在Android中实现监听 返回键,主键,菜单键

發布時間:2025/3/21 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Android中实现监听 返回键,主键,菜单键 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、監聽 返回鍵 onKeyDown方法和onBackPressed方法

onKeyDown: 是當某個按鍵被按下是觸發。所以也有人在點擊返回鍵的時候去執行該方法來做判斷。(該方法只是android 1.0~ android 2.1)代碼如下:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //按下的如果是BACK,同時沒有重復Toast.makeText(this,"返回鍵Back鍵測試",Toast.LENGTH_SHORT).show();return true;}return super.onKeyDown(keyCode, event); }

onBackPressed: 在android 2.0開始多出了關于返回鍵的單獨的事件方法,可以在該方法里面執行當點擊返回鍵的時候做什么…所以,后期都是用這個方法比較多,代碼如下:

@Override public void onBackPressed() {// 這里處理邏輯代碼,大家注意:該方法僅適用于2.0或更新版的sdkreturn; }

如果要考慮版本兼容的話,代碼可這么寫:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) {// 是否觸發按鍵為back鍵if (keyCode == KeyEvent.KEYCODE_BACK) {onBackPressed();return true;} else {// 如果不是back鍵正常響應return super.onKeyDown(keyCode, event);} }

點擊兩次返回鍵退出,防止誤操作

//重寫onKeyDown()方法,繼承自退出的方法 private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){if((System.currentTimeMillis()-exitTime) > 2000){Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();exitTime = System.currentTimeMillis();} else {finish();System.exit(0);}return true;}return super.onKeyDown(keyCode, event); } //重寫onBackPressed()方法 //退出時間 privatelongcurrentBackPressedTime= 0; //退出間隔 privatestaticfinalintBACK_PRESSED_INTERVAL= 2000; //重寫onBackPressed()方法,繼承自退出的方法 @Override public void onBackPressed() {//判斷時間間隔if(System.currentTimeMillis()-currentBackPressedTime>BACK_PRESSED_INTERVAL) {currentBackPressedTime= System.currentTimeMillis();Toast.makeText(this,"再按一次返回鍵退出程序", Toast.LENGTH_SHORT).show();}else{//退出finish();} }

二、監聽 主鍵(Home鍵)

監聽Home鍵可以通過onUserLeaveHint()方法來實現,代碼如下:

@Override protected void onUserLeaveHint() {super.onUserLeaveHint();Toast.makeText(this, "onUserLeaveHint", Toast.LENGTH_SHORT).show(); }

三、監聽 菜單鍵

菜單的監聽也可以通過onKeyDown()方法來實現,代碼如下:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_MENU) {Toast.makeText(this, "onkeyDown clicked", Toast.LENGTH_SHORT).show();super.openOptionsMenu(); // 調用這個,就可以彈出菜單}return true; // 最后,一定要做完以后返回 true,或者在彈出菜單后返回true,其他鍵返回super,讓其他鍵默認 }

onOptionsMenuClosed()方法也可以實現,代碼如下:

@Override public void onOptionsMenuClosed(Menu menu) {super.onOptionsMenuClosed(menu);Toast.makeText(this, "onOptionsMenuClosed clicked", Toast.LENGTH_SHORT).show(); }

總結

以上是生活随笔為你收集整理的在Android中实现监听 返回键,主键,菜单键的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。