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

Posted

技术标签:

【中文标题】如何在启动阶段设置状态栏的背景颜色[重复]【英文标题】:how to set the background color of the status bar during the launching phase [duplicate] 【发布时间】:2017-10-08 06:47:07 【问题描述】:

在我的应用使用 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 颜色设置为黑色而没有任何问题。我需要在启动阶段为状态栏设置黑色背景,我的意思是当用户点击应用程序的图标时,它们就像一个启动屏幕(通过@987654325 定义为黑色@) 但此启动屏幕的状态栏颜色为灰色(仅当 android:targetSdkVersion="22" 时)

【问题讨论】:

【参考方案1】:

最简单的方法是:得到 res -> value -> 样式并添加此

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>

注意:

    colorprimary 用于操作栏 colorPrimaryDark 用于状态栏 您可以更改这些颜色,您可以获得所需的结果。

输出:

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

【讨论】:

谢谢!但不幸的是这不起作用:( #000000 我无法更改它,因为它也用于其他思考。我只需要更改状态栏的颜色跨度> @lok​​i 我已经编辑了我的答案,请查看 感谢 Abubakar :) 现在可以工作了【参考方案2】:

试试这个

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

【讨论】:

【参考方案3】:

试试这个:

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

【讨论】:

以上是关于如何在启动阶段设置状态栏的背景颜色[重复]的主要内容,如果未能解决你的问题,请参考以下文章

更改状态栏的背景颜色

iOS 设置状态栏的背景颜色

如何更改android状态栏的背景颜色

如何将背景颜色设置为透明状态栏

UISearchBar:清除背景颜色或设置背景图像[重复]

SwiftUI - 设置状态栏背景颜色以与导航栏对齐