Android 物理按鍵整理及實(shí)例代碼
先給大家看一段代碼,然后說明。
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//我們?cè)谔幚砦锢戆存I事件時(shí),提供的回調(diào)方法有onKeyUp(),onKeyDown(),和onKeyLongPress(),比如音量鍵、返回鍵
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
Log.e("TAG", "這是監(jiān)聽鍵盤操作,按下了Back鍵");
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
Log.e("TAG", "音量加鍵");
}
return super.onKeyUp(keyCode, event);
}
//Activity中,我們可以重寫onBackPressed()方法來處理返回鍵,如兩次按鍵退出
//第一次按下的時(shí)候,記錄事件
//第二次按下的事件減去第一次按下的時(shí)間小于2s就退出,否則將當(dāng)前時(shí)間賦給第一次事件
long startTime;
@Override
public void onBackPressed() {
Log.e("TAG", "監(jiān)聽Back鍵");
if(System.currentTimeMillis()-startTime<2000){
super.onBackPressed();//釋放資源,這個(gè)也可以直接finish(),但調(diào)用父類的釋放的更徹底
}else{
//記錄當(dāng)前時(shí)間
startTime = System.currentTimeMillis();
Toast.makeText(this, "再按一次Back鍵退出", Toast.LENGTH_SHORT).show();
}
}
}
一些常用物理按鍵
電源鍵 KEYCODE_POWER
后退鍵 KEYCODE_BACK
菜單鍵 KEYCODE_MENU
HOME鍵 KEYCODE_HOME
相機(jī)鍵 KEYCODE_CAMERA
音量鍵 KEYCODE_VOLUME_UP / KEYCODE_VOLUME_DOWM
搜索鍵 KEYCODE_SEARCH
方向鍵 KEYCODE_DPAD_CENTER
KEYCODE_DPAD_UP
KEYCODE_DPAD_DOWN
KEYCODE_DPAD_LEFT
KEYCODE_DPAD_RIGHT
鍵盤鍵 KEYCODE_0...KEYCODE_9
KEYCODE_A....KEYCODE_Z
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android小程序?qū)崿F(xiàn)訪問聯(lián)系人
這篇文章主要為大家詳細(xì)介紹了Android小程序?qū)崿F(xiàn)訪問聯(lián)系人,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一2020-05-05
Android實(shí)現(xiàn)3D標(biāo)簽云效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)3D標(biāo)簽云效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
利用Fiddler對(duì)手機(jī)進(jìn)行抓包的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄肍iddler對(duì)手機(jī)進(jìn)行抓包的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
關(guān)于Android短信驗(yàn)證碼的獲取的示例
本篇文章主要介紹了關(guān)于Android短信驗(yàn)證碼的獲取的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
item高度不同時(shí)Recyclerview獲取滑動(dòng)距離的方法
這篇文章主要介紹了item高度不同時(shí)Recyclerview獲取滑動(dòng)距離的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
基于Flutter實(shí)現(xiàn)圖片選擇和圖片上傳
Flutter?的圖片選擇插件很多,包括了官方的?image_picker,multi_image_picker(基于2.0出了?multi_image_picker2)等等。本文將利用這些插件實(shí)現(xiàn)圖片選擇和圖片上傳,需要的可以參考一下2022-03-03
android studio 安裝完成ButterKnife插件卻無法使用(解決方案)
這篇文章主要介紹了android studio 安裝完成ButterKnife插件卻無法使用問題,本文通過圖文并茂的形式給大家分享解決方法,對(duì)大家有非常好的幫助,需要的朋友可以參考下2020-03-03

