沉浸式状态栏状态栏背景色和里面图标颜色混合(如何修改状态栏图标颜色)

沉浸式状态栏,有时可能会遇到状态栏背景色和里面图标颜色混合的问题,难以区分,比如状态栏背景色设置成白色,这时图标也是白色的。图标就会显示不清楚。
 

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

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