沉浸式中显示 PopupWindow

作者: admin 分类: andriod 发布时间: 2017-08-08 14:53 ė546 浏览数 6没有评论
文章转自王牌软件
1.推荐一款NSIS 界面库插件(nsSkinEngine),一键打包,异形,任意多层动画,美化,防解压破解
2.推荐一款自动增量升级系统,基于NSIS插件实现,灵活配置,程序升级发布必备(www.aceui.cn)

在全屏沉浸模式时(Immersive Full-Screen Mode),如果弹出 Dialog 或 PopupWindow,则会自动退出沉浸模式。

退出沉浸式的原因是因为 Activity 的 Window 焦点被抢走了,Window 中的 DecorView 状态改变导致了退出。

如果要继续保持沉浸模式。对于 Dialog 情况,这里有解决办法 。 Dialog 在初始化时会生成新的 Window,先禁止 Dialog Window 获取焦点,等 Dialog 显示后对 Dialog Window 的 DecorView 设置 setSystemUiVisibility ,接着再获取焦点。 这样表面上看起来就没有退出沉浸模式。

而 PopupWindow 并没有创建新的 Window,只是将 PopupWindow 的 View 添加到当前的 WindowManager。不过可以对 PopupWindow 设置 setFocusable

同理,先在失焦的状态,弹出 PopupWindow , 再对 PopupWindow 的 DecorView 设置 setSystemUiVisibility ,最后获取焦点即可。 虽然 PopupWindow 对外没有暴露出 DecorView ,但只要是 PopupWindow 中的可见 View 都行。

 



只回答业务咨询点击这里给我发消息 点击这里给我发消息

王牌软件,兼职软件设计,软件修改,毕业设计。

本文出自 王牌软件,转载时请注明出处及相应链接。

本文永久链接: http://www.softwareace.cn/?p=1680

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量