我想在Android 5 Lolipop应用中更改导航栏和状态栏的颜色。
以下是我的清单sdk设置:
<uses-sdk android:minSdkVersion="21"
android:targetSdkVersion="21"
android:maxSdkVersion="21" />
我在my_style.xml文件中有这个:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- inherit from the material theme -->
<style name="AppTheme" parent="android:Theme.Material">
<!-- Main theme colors -->
<!-- your app branding color for the app bar -->
<item name="android:colorPrimary">@color/primary</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<!-- theme UI controls like checkboxes and text fields -->
<item name="android:colorAccent">@color/accent</item>
<item name="android:statusBarColor">@color/navbar</item>
<item name="android:navigationBarColor">@color/navbar</item>
</style>
</resources>
如果我更改了条形码的android:colorPrimary
颜色(不是状态栏/导航栏),则IDE中的布局也会发生变化,调试Android应用时,statusBarColor
和navigationBarColor
不会做任何事情(https://developer.android.com/training/material/theme.html - 在这里你可以看到它应该)。我甚至试图这样做:
getWindow.setStatusBarColor(Integer.parseInt("00FF00", 16))
但它也不起作用。我错过了什么吗?
答案 0 :(得分:1)
我通过添加标志(Scala代码)解决了这个问题:
getWindow.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
前
setContentView(R.layout.main)
它适用于应用,但仍然布局编辑器不会显示android:statusBarColor
android:navigationBarColor
和app_style.xml
项的更改