1. 程式人生 > >PopupWindow顯示之後所在的Activity結束的時候出現短暫黑屏問題

PopupWindow顯示之後所在的Activity結束的時候出現短暫黑屏問題

在當前Activity彈出PopuoWindow彈窗之後,取消彈窗,然後結束當前Activity的時候會出現短暫黑屏現象。這是由於設定背景透明度時候造成的

 public ESPopUpWindowBuilder setBackAlpha(float alpha) {
        if (context != null) {
            WindowManager.LayoutParams lp = context.getWindow().getAttributes();
            lp.alpha = alpha;
            if (alpha == 0.5f) {
                context.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除該Flag的話,可能出現黑屏的bug
            } else {
                context.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行程式碼主要是解決在華為手機上半透明效果無效的bug
            }
            context.getWindow().setAttributes(lp);
        }
        return this;
    }
關鍵程式碼 
context.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除該Flag的話,可能出現黑屏的bug