学之广在于不倦,不倦在于固志。 ——晋·葛洪
(学问的渊博在于学习时不知道厌倦,而学习不知厌倦在于有坚定的目标)
001.点击PopupWindow外面弹框消失:
mPopupWindow.setFocusable(true);
mPopupWindow.setOutsideTouchable(true);
或者
mPopupWindow.setBackGroundDrawable(new BitmapDrawable());
mPopupWindow.setOutsideTouchable(true);
002.点击PopupWindow外面弹框不消失:
mPopupWindow.setFocusable(false);
mPopupWindow.setOutsideTouchable(false);
003.几个常用的属性和方法:
mPopupWindow.setTouchable(true);//设置弹框的点击事件
mPopupWindow.setOnDismissListener();//设置弹框消失的监听事件
mPopupWindow.setFocusable(true)//PopupWindow可以类比一个Edittext,但有区别,在PopupWindow弹出以后,所有的触屏和物理按键都由PopupWindow处理,其他任何事件的响应都必须在PopupWindow消失之后(home等系统层面的事件除外)<比如:PopupWindow出现的时候,按back键首先是让PopupWindow消失,之后才是退出activity,准确的说是想退出activity你得先让PopupWindow消失,因为并不是任何情况下按back键PopupWindow都会消失,必须在PopupWindow设置了背景的情况下>。
mPopupWindow.setFocusable(false)//此时PopupWindow只是一个浮现在当前界面上的view而已,不影响当前界面的任何操作,是一个没有存在感的东西。
PopupWindow中有Editor的话,setFocusable()要设置为true;setFocusable()一般情况都是true
Last:如有错误欢迎指正
参考链接:点击打开链接