设置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()来实现

你可能感兴趣的:(设置PopupWindow setOutsideTouchable无效的问题)