Android中的dispatchKeyEvent()方法用于處理按鍵事件,可以在Activity、View或者Fragment中重寫該方法來(lái)處理按鍵事件。以下是dispatchKeyEvent()方法的使用示例:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){
//處理返回鍵事件
return true; //消費(fèi)事件,不再傳遞
}
return super.dispatchKeyEvent(event);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
//處理回車鍵事件
return true; //消費(fèi)事件,不再傳遞
}
return super.dispatchKeyEvent(event);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_MENU){
//處理菜單鍵事件
return true; //消費(fèi)事件,不再傳遞
}
return super.dispatchKeyEvent(event);
}
通過(guò)重寫dispatchKeyEvent()方法,可以實(shí)現(xiàn)對(duì)按鍵事件的自定義處理,并決定是否消費(fèi)該事件。在處理完事件后,可以使用return true來(lái)表示消費(fèi)事件,不再傳遞給其他組件處理;使用return super.dispatchKeyEvent(event)來(lái)繼續(xù)傳遞事件給父組件處理。