我编写了一个代码来更改状态栏的颜色,使用Java代码,如下所示:
if (android.os.Build.VERSION.SDK_INT >= 21) {
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(Color.parseColor("#d3d6db"));
}
再次通过xml如下:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">#d3d6db</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
在这两种情况下,当应用程序启动时,状态栏显示为蓝色并更改为我选择的颜色。当WhatsApp等程序启动时,状态栏为绿色并保持不变,如何完成?
答案 0 :(得分:0)
尝试包含
AppTheme
styles.xml
下的constexpr
答案 1 :(得分:0)
我找到了解决方案 原因在于清单文件应该包含
android:minSdkVersion="the minimum version supports changing the status bar color"
选择版本后,状态栏颜色将是程序启动时选择的颜色