解决返回按钮与LayoutParams.FLAG_NOT_FOCUSABLE冲突的问题

当window设置了WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE时是接收不到返回事件的,此时如果需求是此window内的事件自己处理,其他事件其他的界面处理,此时可以将WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE改成WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,然后重写window内根布局的dispatchKeyEvent即可拦截back事件。如下:

第一步,将WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE改成WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL

第二步,重写window中根布局的方法。

解决返回按钮与LayoutParams.FLAG_NOT_FOCUSABLE冲突的问题_第1张图片

你可能感兴趣的:(android基础知识)