最近一个项目中遇到了一个问题,我写了一个悬浮框:

始终在屏幕上方的位置.这时候当我使用我封装的另一个弹框的时候.封装弹框获取window如下:(这个是解决之后的,之前用的是.keyWindow)

这时候就出现问题了.我的弹框上面加的控件的手势点击都没有效果了.而且当我把悬浮框上移的时候,封装的弹框也随之上移.几经求证终于找到了问题的所在.keyWindow只可以获取最上层的window层级.所以弹框所获取的是我悬浮框的window.为了解决这个问题.只能弹框的window获取最初app启动的时候的整个window.这时候问题就完美解决了. 还有一个问题是 如果window你设置的层架高于两千的话是会把状态栏给遮挡住的.所以你如果想遮挡状态栏的话就把window的层级设置高于2000即可.
网友评论