Android PopupWindow控件应用广泛,使用也比较简单,但是在真正用的时候发现有些地方还是需要特别注意的,否则很容易就被掉坑里了,下面做一些记录,以免再次犯这种错误。
这里要说的是关于点击其他位置,PopupWindow 消失的问题。
主要涉及到两个方法 setOutsideTouchable()和setBackgroundDrawable(),简单来说就是必须调用setBackgroundDrawable()方法,同时setOutsideTouchable(true),详细解释参考:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0702/1627.html
这篇文章。
还有容易忽略的一点是关于PopupWindow 相关属性设置方法的顺序问题,切记 对于PopupWindow相关属性设置方法的调用一定要在showAsXXX 或者 showAtXXX方法之前调用,showAsXXX 或者 showAtXXX 方法相当于 Dialog.show()方法, 如果是先show了, 然后其他属性即使是设置了,也起不到应有的作用这个,这应该不是个难点,只是很容易忘记,然后各种蛋疼!