美文网首页
当Activity设置为透明主题时,按Back键,界面闪烁的解决

当Activity设置为透明主题时,按Back键,界面闪烁的解决

作者: zsj1225 | 来源:发表于2017-10-13 18:28 被阅读125次

bug现象

bug.gif

1、前提条件:
(1)设置Activity的主题为透明主题
(2)弹出对话框

2、问题:按Back键时,会闪烁

3、原因分析:
(1)Activity设置成了透明主题,没有了正常的退出动画
(2)Dialog依赖于Activity所在的父窗口,Activity透明不再做退出动画,而Dialog需要做退出动画,造成了闪烁。
4、解决方案:
提升Dialog的窗口层级,设置为系统级别的悬浮窗。

mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

需要加入权限

  这个权限在6.0上是特殊权限.可以不加入
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />  
    <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" /> 

参考博客:
http://blog.csdn.net/tscyds/article/details/51340463

相关文章

网友评论

      本文标题:当Activity设置为透明主题时,按Back键,界面闪烁的解决

      本文链接:https://www.haomeiwen.com/subject/zpftuxtx.html