本文主要是介绍PopWindow使用透明的View却出现布局为黑色的情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:
popwindow使用的是一个透明的布局,却出现布局为黑色的情况;
原因
以下两种方式都是让用户点击PopWindow其他地方或者返回键,PopWindow消失,就是这里出现的问题。
方式一:
1.用这种会出现设置的布局出现背景为黑色的问题
2.设置背景不为空
setBackgroundDrawable(new BitmapDrawable());
方式二:
1.解决布局出现背景为黑色的问题
2.推荐用这种,设置背景不为空但是完全透明。
mPopWindow.setBackgroundDrawable(new ColorDrawable(0x00000000));
不明白为什么一个背景会影响点击事件?
原因:如果有背景,则会在contentView外面包一层PopupViewContainer之后作为mPopupView,如果没有背景,则直接用contentView作为mPopupView。
而这个PopupViewContainer是一个内部私有类,它继承了FrameLayout,在其中重写了Key和Touch事件的分发处理。
这篇关于PopWindow使用透明的View却出现布局为黑色的情况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!