Android状态栏语字体颜色

public static void configureStatusBar(Activity activity, int color, boolean isBlackTheme) {
        if (Build.VERSION.SDK_INT >= 21 && Build.VERSION.SDK_INT <= 22) {
            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            activity.getWindow().setStatusBarColor(color);
            return;
        }

        Window window = activity.getWindow();
        View view = window.getDecorView();
        int flags = view.getSystemUiVisibility();
        if (Build.VERSION.SDK_INT >= 26) {
            if (!isBlackTheme) {
                flags = flags | 0x10;
            } else {
                flags = flags & ~0x10;
            }
            window.setNavigationBarColor(color);

        }
        // Build.VERSION_CODES.M
        if (Build.VERSION.SDK_INT >= 23) {
            if (!isBlackTheme) {
                flags = flags | 0x2000;
            } else {
                flags = flags & ~0x2000;
            }
            window.setStatusBarColor(color);
        }
        if (Build.VERSION.SDK_INT >= 28) {
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
            window.setNavigationBarColor(color);
        }
        view.setSystemUiVisibility(flags);
    }
posted @ 2023-04-27 01:12  c-若曦  阅读(28)  评论(0)    收藏  举报