zoukankan      html  css  js  c++  java
  • Android PopupWindow显示之后所在的Activity结束的时候出现短暂黑屏问题

    在当前Activity弹出PopuoWindow后,点击取消弹窗,然后结束当前Activity时会出现短暂黑屏现象。这是由于设置背景透明度时候造成的。

        //设置添加屏幕的背景透明度
        public void backgroundAlpha(Activity context, float bgAlpha) {
            if (context != null) {
                WindowManager.LayoutParams lp = context.getWindow().getAttributes();
                lp.alpha = bgAlpha;
                if (bgAlpha == 1f) {  
                    context.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//划重点 ==>> 不移除该Flag的话,可能出现黑屏的bug
                } else {
                    context.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug
                }
                context.getWindow().setAttributes(lp);
            }
        }
    
    

    注意方法第五行,本人传入的值是1f,所以此处令bgAlpha == 1f,原文作者令bgAlpha == 0.5f,本人尝试过0.5f和1f,都不会出现黑屏,不知道其中缘由,所以需测试。

    致谢原文作者。
    原文链接:https://blog.csdn.net/jhl122/article/details/79977066

    The one who wants to wear the crown, bears the crown.
  • 相关阅读:
    CentOS7 linux下yum安装redis以及使用
    nssm 在windows上部署服务
    netcore 2.2 封装 AutoMapper
    git pull/push免密输入
    缓存常见问题
    批量维护关系数据
    测试跨域html
    ODBC配置
    spring boot监控之prometheus配置
    REST Client
  • 原文地址:https://www.cnblogs.com/catherineliu/p/13048431.html
Copyright © 2011-2022 走看看