laobie / StatusBarUtil

A util for setting status bar style on Android App.
http://t.cn/Rq746Kb
Apache License 2.0
8.82k stars 1.72k forks source link

StatusBarUtil.setLightMode(this) => Toolbar goes behind statusBar #284

Open Morteza-Rastgoo opened 4 years ago

Morteza-Rastgoo commented 4 years ago
Screen Shot 2019-12-11 at 4 19 47 PM
vodLee commented 4 years ago

I find this question too. The question is this util change your theme in this two func. You could change this func in util like this. ` @TargetApi(Build.VERSION_CODES.M) public static void setLightMode(Activity activity) { setMIUIStatusBarDarkIcon(activity, true); setMeizuStatusBarDarkIcon(activity, true); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { int visibility = activity.getWindow().getDecorView().getSystemUiVisibility(); if (visibility != (visibility | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)) { visibility = visibility | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } activity.getWindow().getDecorView().setSystemUiVisibility(visibility); } }

@TargetApi(Build.VERSION_CODES.M)
public static void setDarkMode(Activity activity) {
    setMIUIStatusBarDarkIcon(activity, false);
    setMeizuStatusBarDarkIcon(activity, false);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        int visibility = activity.getWindow().getDecorView().getSystemUiVisibility();
        if (visibility == (visibility | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)) {
            visibility = visibility ^ View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
        }
        activity.getWindow().getDecorView().setSystemUiVisibility(visibility);
    }
}`