设置PopupWindow setOutsideTouchable无效的问题

PopupWindow与Dialog不同之处在于PopupWindow弹出时背景Activity仍可以获取焦点(PopupWindow setFocusable()除外),

*设置SetFocusable(true)后,与Dialog相似,并且不能接收按键事件

*如果要使PopupWindow能响应按键事件或点击背景Activity以关闭弹出对话框 最简单的方法是使用setBackgroundDrawable()

*或者使用能创建Background的构造方法 这是因为当设置了background后会将contentView放在一个PopupViewContainer类的容器中

*交给WindowManager,PopupViewContainer是PopupView的内部类,实现了对按键及Touch事件的处理

*当然不设background自己通过set对最外层contentView调用setOnKeyListener(),setOnTouchListener()来实现

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容