关于PopupWindow的一些备忘
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于PopupWindow的一些备忘相关的知识,希望对你有一定的参考价值。
1.有无背景对PopupWindow的影响。
设置了PopupWindow的background,点击Back键或者点击弹窗的外部区域,弹窗就会dismiss。相反,如果不设置PopupWindow的background,那么点击back键和点击弹窗的外部区域,弹窗是不会消失的。
原因是如果有背景,则会在contentView外面包一层PopupViewContainer之后作为mPopupView,如果没有背景,则直接用contentView作为mPopupView。而这个PopupViewContainer是一个内部私有类,它继承了FrameLayout,在其中重写了Key和Touch事件的分发处理
博文:http://www.cnblogs.com/mengdd/p/3569127.html 对它的源码进行了分析。
解决方法:
giftPopupWindow.setBackgroundDrawable(new BitmapDrawable());
2.部分型号的手机(如Nexus系列)有虚拟操作区域。如果PopupWindow操作区域为全屏,会遮挡住虚拟按键操作区。
giftPopupWindow.setBackgroundDrawable(new BitmapDrawable());
加入了这句话后,PopupWindow在计算全屏区域时将不会把虚拟操作区计算进去。
以上是关于关于PopupWindow的一些备忘的主要内容,如果未能解决你的问题,请参考以下文章
DialogFragment——解决PopupWindow中的输入框无法复制粘贴的问题;Android中的两种弹窗PopupWindow和Dialog的区别。
DialogFragment——解决PopupWindow中的输入框无法复制粘贴的问题;Android中的两种弹窗PopupWindow和Dialog的区别。