在Android API级别15中更改状态栏颜色

时间:2018-07-26 11:54:50

标签: android statusbar

我使用了这个库: compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'

private void initStatusBar() {
        Window window = getWindow();

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
            window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            SystemBarTintManager tintManager = new SystemBarTintManager(this);
            tintManager.setStatusBarTintEnabled(true);
            tintManager.setTintColor(ContextCompat.getColor(this, R.color.colorBlack));
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
            window.setStatusBarColor(Color.TRANSPARENT);
        }
    }

此方法在activity之前的主setContentView()中被调用。它可以正常工作,但是状态栏内容项都是白色的,所以什么也看不见,我想要黑色状态栏内容文本。 我的最小sdk版本是15,最大是26。我的背景是png文件。所以我想在状态栏中也一样。

0 个答案:

没有答案