沉浸式狀態欄狀態欄背景色和裏面圖標顏色混合(如何修改狀態欄圖標顏色)

沉浸式狀態欄,有時可能會遇到狀態欄背景色和裏面圖標顏色混合的問題,難以區分,比如狀態欄背景色設置成白色,這時圖標也是白色的。圖標就會顯示不清楚。
 

sss


我們可以在Activity的onCreate裏調用以下方法解決。

public static void setDarkStatusIcon(Window window, boolean bDark) {
    if (window != null) {
        View decorView = window.getDecorView();
        if(decorView != null){
            int vis = decorView.getSystemUiVisibility();
            if(bDark){
                //設置黑色狀態欄圖標
                vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
            } else{
                //設置白色狀態欄圖標
                vis &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
            }
            decorView.setSystemUiVisibility(vis);
        }
    }
}

上面的圖,系統默認白色的狀態欄圖標。下邊的圖,調用該方法後,狀態欄內的圖標不再是白色的了。就和statusbar的顏色區分開了

jj

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章