由于之前都是用三方的basePopWindow可以自己设置外层是否可以点击和点击点击外层是否可以隐藏,
昨天用原生的dialogFragment 遇到设置外层不可点击隐藏,外层点击事件无法穿透造成弹窗外的按钮无法
点击。特此记录一下
解决方案:WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
代码如下
override fun initWindow() {
super.initWindow()
val window =dialog!!.window
//设置外层可以获取焦点
val windowParams: WindowManager.LayoutParams = window!!.attributes
windowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE //重点在这一行代码
}
这样dialog外层就可以拿到焦点响应点击事件了