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
近日遇到一些问题,接入广告sdk的时候,老板提出了"拦截广告的点击监听并自己控制”这样要求
然后设想了一下解决的方式,先获取弹窗的view(PopupWindow、dialog),然后获取view的组件,最后获取组件的listener
组件有点击广告,点击关闭两个内容需要由我们控制(点击范围改变,自动点击等)(感觉吃枣药丸)
通过上面几篇(特别是第四篇的源码解析)基本可以看得出最主要的是WindowManagerGlobal
view的添加、更新、删除都通过WindowManagerGlobal
而view的大小设置位置设置则通过windowManager实现
想象中处理方式是从WindowManagerGlobal获取View对象,然后再获取组件,最后进行操作
但是从windowManagerGlobal获取当前展示的view的方法没有发现甚至从activity直接获取windowManagerGlobal单例的时候也失败了
即使获取了view,不知道layout里面组件对应的id也无法指定组件并进行修改,可能这个解法是错误的,需要寻求另外的方式来实现