如何在我的应用程序中将状态栏设置为白色背景和黑色文本(黑色图标)

时间:2016-08-22 13:08:47

标签: android statusbar textcolor

我想在我的应用中将状态栏设置为白色背景和黑色文本(以及黑色图标)。我发现一些应用可以做到这一点。但是从谷歌搜索,我找不到任何解决方案。关于如何设置状态栏的颜色有很多解决方案。也像SystemBarTint,它只是可以设置背景,但不设置整个状态栏的样式(白色背景和黑色文字或黑色背景和白色文字颜色)。

3 个答案:

答案 0 :(得分:1)

这是你的values-v21 / styles.xml,在Lollipop上启用它: 它只能在API 21之上工作

  <resources>
        <!-- Base application theme. -->
        <style name="AppTheme" parent="Theme.AppCompat.Light">
            <item name="colorPrimary">@color/color_primary</item>
            <item name="colorPrimaryDark">@color/color_secondary</item>
            <item name="colorAccent">@color/color_accent</item>
            <item name="android:statusBarColor">@color/color_primary</item>
        </style>
    </resources>

答案 1 :(得分:0)

它适用于API 21或者伟大的

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                Window window = getWindow();
                window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
                window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                window.setStatusBarColor(getResources()
                        .getColor(R.color.YOurColorname));
            }

答案 2 :(得分:-1)

我发现此解决方案使用此代码:

  getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
 getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

getWindow().setStatusBarColor(Color.TRANSPARENT);// SDK21