關於彈窗的view是以怎麼樣的形式存在的問題

https://blog.csdn.net/haiyang497661292/article/details/78097775

https://blog.csdn.net/qq_21556263/article/details/82768420

https://www.cnblogs.com/waleyx/p/3649411.html

https://www.jianshu.com/p/1c4059d3865b?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

近日遇到一些問題,接入廣告sdk的時候,老闆提出了"攔截廣告的點擊監聽並自己控制”這樣要求

然後設想了一下解決的方式,先獲取彈窗的view(PopupWindow、dialog),然後獲取view的組件,最後獲取組件的listener

組件有點擊廣告,點擊關閉兩個內容需要由我們控制(點擊範圍改變,自動點擊等)(感覺吃棗藥丸)

 

 

通過上面幾篇(特別是第四篇的源碼解析)基本可以看得出最主要的是WindowManagerGlobal

view的添加、更新、刪除都通過WindowManagerGlobal

而view的大小設置位置設置則通過windowManager實現

想象中處理方式是從WindowManagerGlobal獲取View對象,然後再獲取組件,最後進行操作

但是從windowManagerGlobal獲取當前展示的view的方法沒有發現甚至從activity直接獲取windowManagerGlobal單例的時候也失敗了

即使獲取了view,不知道layout裏面組件對應的id也無法指定組件並進行修改,可能這個解法是錯誤的,需要尋求另外的方式來實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章