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

时间:2017-05-09 19:42:30

标签: android android-styles android-statusbar

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

enter image description here

知道在启动阶段我的状态栏是否会再次变黑需要做些什么?

注意

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

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

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

没有帮助!这个问题与其他问题不重复,因为我可以在应用程序启动或完全加载后将StatusBar颜色设置为黑色而没有任何问题。我需要在启动阶段期间为状态栏设置黑色背景,我的意思是当用户点击应用程序的图标时,它们就像启动屏幕(通过{{定义为黑色) 1}})但是这个启动屏幕的状态栏颜色是灰色的(仅当android:targetSdkVersion =&#34; 22&#34;)

3 个答案:

答案 0 :(得分:2)

最简单的方法:得到res - &gt;价值 - &gt;样式并添加此

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. 你可以改变这些颜色,你可以得到你想要的结果。
  4. 输出:

    enter image description here

    希望回答这个问题是否有用然后投票

答案 1 :(得分:1)

试试这个

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););
}

答案 2 :(得分:0)

试试这个:

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