Android中PopupWindow使用方法详解
参考原文Android PopupWindow用法解析进行学习,通过实例及PopupWindow源码分析了PopupWindow的使用。文章最后的“补充Case: 弹窗不消失,但是事件向下传递”很赞。
不过,源码已经发生了变化,文章中提到的PopupViewContainer类,在目前的源码(Android6.0)中使用的是PopupBackgroundView和PopupDecorView共同完成的。
而在6.0版本的PopupWindow的preparePopup方法中,无论是否setBackgroundDrawable,最终都要创建PopupDecorView实例来生成视图,而PopupDecorView实现了onTouchEvent,所以用6.0版本开发,运行在6.0的设备上,无论是否setBackgroundDrawable,点击popupWindow之外的区域,popupWindow都会消失。
源码截图:
PopupWindow.preparePopup方法:
PopupDecorView类:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
详解 Kotlin Reference Basic Types, String, Array and Imports
这篇文章主要介绍了详解 Kotlin Reference Basic Types, String, Array and Imports的相关资料,需要的朋友可以参考下2017-06-06Android官方的侧滑控件DrawerLayout的示例代码
这篇文章主要介绍了Android官方的侧滑控件DrawerLayout的示例代码,非常具有实用价值,需要的朋友可以参考下2017-09-09解决java.lang.NoClassDefFoundError: android.support.v4.animati
这篇文章主要介绍了解决Android Studio出现java.lang.NoClassDefFoundError: android.support.v4.animation.AnimatorCompatHelper的问题,感兴趣的朋友一起看看吧2021-08-08
最新评论