实际项目开发时会遇到一些奇葩问题,在这里记录下来,到一定数量了再整理。
1、通过将view加入到WindowManager中时如果设定flags为如下两个会出现弹出窗口无法接收到按键(如返回键的情况),去掉WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE同时view中设置 setFocusableInTouchMode(true)就可以检测到按键事件了。
mWindowParams = new WindowManager.LayoutParams(); mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; //......其他设定省略 windowManager.addView(view, mWindowParams);