Android中PopupWindow使用方法詳解
參考原文Android PopupWindow用法解析進行學(xué)習(xí),通過實例及PopupWindow源碼分析了PopupWindow的使用。文章最后的“補充Case: 彈窗不消失,但是事件向下傳遞”很贊。
不過,源碼已經(jīng)發(fā)生了變化,文章中提到的PopupViewContainer類,在目前的源碼(Android6.0)中使用的是PopupBackgroundView和PopupDecorView共同完成的。
而在6.0版本的PopupWindow的preparePopup方法中,無論是否setBackgroundDrawable,最終都要創(chuàng)建PopupDecorView實例來生成視圖,而PopupDecorView實現(xiàn)了onTouchEvent,所以用6.0版本開發(fā),運行在6.0的設(shè)備上,無論是否setBackgroundDrawable,點擊popupWindow之外的區(qū)域,popupWindow都會消失。
源碼截圖:
PopupWindow.preparePopup方法:
PopupDecorView類:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解 Kotlin Reference Basic Types, String, Array and Imports
這篇文章主要介紹了詳解 Kotlin Reference Basic Types, String, Array and Imports的相關(guān)資料,需要的朋友可以參考下2017-06-06Android官方的側(cè)滑控件DrawerLayout的示例代碼
這篇文章主要介紹了Android官方的側(cè)滑控件DrawerLayout的示例代碼,非常具有實用價值,需要的朋友可以參考下2017-09-09解決java.lang.NoClassDefFoundError: android.support.v4.animati
這篇文章主要介紹了解決Android Studio出現(xiàn)java.lang.NoClassDefFoundError: android.support.v4.animation.AnimatorCompatHelper的問題,感興趣的朋友一起看看吧2021-08-08Android組件ContextMenu實現(xiàn)長按事件
這篇文章主要為大家詳細介紹了Android組件ContextMenu實現(xiàn)長按事件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-04-04