上一篇讲到Dialog如何全屏,以及去除边框,实际用的时候又发现个小问题就是:全屏之后点击下方的物理的退出按钮没有反应,查询原因是因为全屏之后遮挡了物理返回键,又上网查了一下解决方法,如下:
mSettingDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
mSettingDialog.dismiss();
}
return false;
}
});
上面的 mSettingDialog 就是Dialog 对象 这样就可以解决这个问题
-----------------------------------------------------------------------------------------------------------------------
Ps,刚开始我还以为是物理返回键失灵了,所以重写onKeyDown方法,发现没用,在里面打Log才发现根本没走这个方法,后来想到了可能是遮挡住了, 然后又上网找了一下,哈哈