如何在启动阶段设置状态栏的背景颜色[重复]
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 用于状态栏
您可以更改这些颜色,您可以获得所需的结果。
输出:
如果有用的话希望回答这个问题然后投票
【讨论】:
谢谢!但不幸的是这不起作用:(试试这个
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")));
【讨论】:
以上是关于如何在启动阶段设置状态栏的背景颜色[重复]的主要内容,如果未能解决你的问题,请参考以下文章