如何在启动阶段设置状态栏的背景颜色

how to set the background color of the status bar during the launching phase

在我的应用程序使用 android:targetSdkVersion="14" 之前,但我决定让它更现代一些并将其更新为 android:targetSdkVersion="22"。但是现在我有一个小问题,在启动阶段顶部状态栏的颜色现在是灰色的(就像图片上的那样),我更愿意让它变成黑色(就像以前那样)。

知道我需要做什么才能在启动阶段让我的状态栏再次变黑吗?

注意

我想通过 styles.xml 更改状态栏的颜色。实际上我尝试添加

<item name="android:colorPrimaryDark">@android:color/black</item>

<item name="android:statusBarColor">@android:color/black</item>

没有帮助!这个问题不是其他问题的重复,因为我可以在应用程序启动或完全加载后毫无问题地将 StatusBar 颜色设置为黑色。我需要在 启动阶段 期间为状态栏设置黑色背景,我的意思是当用户单击应用程序的图标时,它们就像一个启动屏幕(定义为黑色通过 <item name="android:windowBackground">@android:color/black</item>) 但此启动屏幕的状态栏颜色为灰色(仅当 android:targetSdkVersion="22")

试试这个:

  // Change color of action bar
        ActionBar bar = getActionBar();
        bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0099CC")));

最简单的方法是:转到 res -> value -> styles 并添加这个

1:将此添加到您的颜色 xml 文件中

<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#000000</color>
<color name="colorAccent">#FF4081</color>
</resources>

2:将此添加到您的 styles.xml 文件中

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

注:

  1. colorprimary 用于 Actionbar
  2. colorPrimaryDark 用于状态栏
  3. 你可以改变这些颜色,你可以得到你需要的结果。

输出:

希望回答了这个问题如果它有用然后投票

试试这个

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(ContextCompat.getColor(activity, R.color.background););
}