PopupWindow的使用

 

原文:http://www.cnblogs.com/mengdd/p/3569127.html

通过实例及PopupWindow源码分析了PopupWindow的使用。文章最后的“补充Case: 弹窗不消失,但是事件向下传递”很赞。

 

不过,源码已经发生了变化,文章中提到的PopupViewContainer类,在目前的源码(Android6.0)中使用的是PopupBackgroundViewPopupDecorView共同完成的。

而在6.0版本的PopupWindow的preparePopup方法中,无论是否setBackgroundDrawable,最终都要创建PopupDecorView实例来生成视图,而PopupDecorView实现了onTouchEvent,所以用6.0版本开发,运行在6.0的设备上,无论是否setBackgroundDrawable,点击popupWindow之外的区域,popupWindow都会消失。

 源码截图:

PopupWindow.preparePopup方法:

PopupDecorView类:

 

posted @ 2016-07-10 15:29  liDB  阅读(459)  评论(0编辑  收藏  举报