点击PopupWindow外部,PopupWindow消失
popupWindow.setBackgroundDrawable(new BitmapDrawable()); //如果设置Width为LayoutParams.FILL_PARENT又没有调用这一句,边框留出空白
popupWindow.setFocusable(true);//里面的控件不能获取焦点,不设置默认的就是false
popupWindow.setOutsideTouchable(true);//触碰PopupWindow以外的布局可以获得触摸事件
popupWindow.update();
不消失的话将上面两个设为false,默认也是false
如上可以很方便的实现点击PopupWindow外部,PopupWindow消失,但有时这个有不好用,比如当弹出PopupWindow的时候点击按钮想立即触发按钮事件时,得点击两次,第一次隐藏PopupWindow,第二次点击才触发,这个问题也很好解决,将上面两个true设为false,然后在按钮事件中添加
popupWindow.dismiss()
即可,该按钮当然也可以是listview的 onTouch等事件处理里面