美文网首页
当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