popupwindow点击其它位置和点击back键不消失,以及和dialog的区别。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq77485042/article/details/78023409

在我们开发过程中经常使用到popupwindow,popupwindow和dialog最主要的差别就是:

1.dialog是非阻塞的,而popupwindow是阻塞的,当popupwindow没被dismiss的时候程序就一直阻塞在那里。

2.dialog是默认有透明度的而popupwindow是默认没有透明度的

3.dialog是无法全部覆盖屏幕的,而popupwindow是可以的。

我们在使用自定义popupwindow时,会发现明明设置了

this.setFocusable(true);
this.setOutsideTouchable(true);

两个属性还是点击其它位置或者点击back键时,popupwindow不会消失。
当出现这样的情况的时候还需要添加

ColorDrawable dw = new ColorDrawable(0000000000);
this.setBackgroundDrawable(dw);

添加了这两行代码后点击其它位置或者点击back键时popupwindow就会消失了。

猜你喜欢

转载自blog.csdn.net/qq77485042/article/details/78023409
今日推荐