Android之解决点击PopupWindow外部不消失并且不穿透事件

1 问题

需要实现PopupWindow内部可以点击,但是外部点击不会消失

 

 

 

 

 

2 初步解决办法

设置PopupWindow的mFocusable属性mOutsideTouchable属性,我们知道如果我们不想穿透事件,也就是说,不想出现点击Popuowindow外部的文本框或者按钮生效,我们需要获取Popuowindow的焦点,也就是设置mFocusable值为true

也就是setFocusable( true ),然后我们分析mOutsideTouchable的设置函数解释

    /**
     * 

Controls whether the pop-up will be informed of touch events outside * of its window. This only makes sense for pop-ups that are touchable * but not focusable, which means touches outside of the window will * be delivered to the window behind. The default is false.

* *

If the popup is showing, calling this method will take effect only * the next time the popup is shown or through a manual call to one of * the {@link #update()} methods.

* * @param touch

你可能感兴趣的:(Andriod,积累)