在屏幕上,有个Activity,在Activity上面有个Fragment,此时,当我们在屏幕中弹出一个覆盖全屏,或者覆盖一部分,剩下部分带阴影的(Dialog)时候。我们的最上层View里面拿不到OnKeyDown或者是OnKeyUp方法,怎么办呢?
可以在Dialog的onResume()方法中写入以下代码:
getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if(event.getAction()==KeyEvent.ACTION_DOWN){
return false;
}
}
});
这样就能event.getAction()==KeyEvent.ACTION_DOWN;拿到你想要的事件了。