android修改状态栏的颜色等问题

 
 
protected boolean useThemestatusBarColor = true;//是否使用特殊的标题栏背景颜色,android5.0以上可以设置状态栏背景色,如果不使用则使用透明色值
protected boolean useStatusBarColor = false;//是否使用状态栏文字和图标为暗色,如果状态栏采用了白色系,则需要使状态栏和图标为暗色,android6.0以上可以设置

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setStatusBar();
}

private void setStatusBar() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //5.0以上
        View DecorView = getWindow().getDecorView();
        int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN //Activity全屏显示,且状态栏被覆盖掉
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;  //SYSTEM_UI_FLAG_LAYOUT_STABLE
        DecorView.setSystemUiVisibility(option);
        if (useThemestatusBarColor) {
            getWindow().setStatusBarColor(getResources().getColor(R.color.white));
        } else {
            getWindow().setStatusBarColor(Color.TRANSPARENT);
        }

    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {  //44-5.0
        WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
        layoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | layoutParams.flags);  //状态栏透明
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !useStatusBarColor) {
        //6.0以上设置对文字状态栏设置为黑色,因为之前5.0我们设置为白色。
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
    }
}

上边是改变4.0到6.0的状态栏颜色。

改了之后可能会出现顶部导航栏被顶部导航栏盖住一部分的情况

activity在你的xml文件中设置

android:fitsSystemWindows="true"

 fragment的话在文中,

@Override
public void onHiddenChanged(boolean hidden) {
    if (view != null) {
        if (hidden) {
            view.setFitsSystemWindows(false);
        } else {
            view.setFitsSystemWindows(true);
        }
        view.requestApplyInsets();
    }

    super.onHiddenChanged(hidden);
}

OK了就。、。、、、、、、

第一个默认显示的fragment可能还会出现被盖住的情况,只要在ragment所在activity所在布局的xml中添加

android:fitsSystemWindows="true"
就ok了、、、、



















猜你喜欢

转载自blog.csdn.net/weixin_40350174/article/details/80829815
今日推荐