PopupWindow的使用showAsDropDown()无法dismiss解决方法
Android PopupWindow的使用和分析,看这个连接;
在这篇文章的最后,博主给我们说了这个方法,
showAsDropDown()显示在一个参照物View的周围,有三个方法重载:重点是我用了这个方法之后,弹出之后无法dismiss();后来博主又说popupWindow不设置背景是不会被dismiss()掉,这是一个bug。后来看了下代码,发现自己把showAsDropDown()方法写在设置背景的代码的上面了。
popupWindow.setBackgroundDrawable(getResources().getDrawable(
R.drawable.home_pop_bg));//设置背景
// 设置好参数之后再show
popupWindow.showAsDropDown(mKefu,20,20);//设置距离某个控件位置
popupWindow.setTouchable(true);
popupWindow.setFocusable(true); //设置点击menu以外其他地方以及返回键退出
popupWindow.setOutsideTouchable(true); //设置触摸外面时消失
改成这样就可以了。。。
本文介绍了在Android中使用PopupWindow的showAsDropDown方法时遇到无法dismiss的问题及解决办法。指出若PopupWindow未设置背景,则不会响应dismiss操作,这是一种已知的bug。通过调整代码顺序,先设置背景再调用showAsDropDown方法可以解决该问题。
1万+

被折叠的 条评论
为什么被折叠?



