PopupWindow的使用showAsDropDown()无法dismiss解决方法

本文介绍了在Android中使用PopupWindow的showAsDropDown方法时遇到无法dismiss的问题及解决办法。指出若PopupWindow未设置背景,则不会响应dismiss操作,这是一种已知的bug。通过调整代码顺序,先设置背景再调用showAsDropDown方法可以解决该问题。

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);   //设置触摸外面时消失
改成这样就可以了。。。





评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值