android 中捕获组合键
先举一个alt+q的例子
当键松开时触发关闭事件
@Override
public boolean dispatchKeyEvent(KeyEvent event){
int keyCode = event.getKeyCode();
if(event.isAltPressed() && keyCode == KeyEvent.KEYCODE_Q && event.getAction() == KeyEvent.ACTION_UP){//alt+q to exit item
Log.d(TAG, "ALT+Q is pressed, exit test item");
finish();
return true;
}
return false;
}
在android 中有现成的API来判断ALT是否被按下,SHIFT键也有现成的
那如果是一般的键呢,则要多加一个标志位来判断是否被按下了
下面就举一个a+q的
boolean aIsDown = flase;
@Override
public boolean dispatchKeyEvent(KeyEvent event){
int keyCode = event.getKeyCode();
if(keyCode == KeyEvent.KEYCODE_Q && event.getAction() == KeyEvent.ACTION_DOWN){
if(!aIsDown){
aIsDown = true;
}
return true;
} else if(keyCode == KeyEvent.KEYCODE_Q && event.getAction() == KeyEvent.ACTION_UP){//a+q to exit item
Log.d(TAG, "A+Q is pressed, exit test item");
aIsDown = false;
finish();
return true;
}
return false;
}
android 中捕获组合键
最新推荐文章于 2024-04-22 00:09:07 发布