记一次windowmanager添加window导致页面的输入框无法弹出bug

176 阅读1分钟
之前的flag设置为WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL

现改为mLayoutParams.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;

我们看看这俩flag的区别

FLAG_NOT_FOCUSABLE

 不许获得焦点。

不能获得按键输入焦点,所以不能向它发送按键或按钮事件。那些时间将发送给它后面的可以获得焦点的窗口。

FLAG_NOT_TOUCH_MODAL选项。设置此选项,意味着窗口不能与软输入法进行交互,所以它的Z序独立于任何活动的输入法(换句话说,它可以全屏显示,如果需要的话,可覆盖输入法窗口),它 覆盖了输入法窗口