使用@GetMapping("/updateStudy/{studyId}")
public String updateSchedulePage(@PathVariable Long studyId, Model model) {
..}
可以正确绘制我的应用程序的状态栏,但是当我设置android:targetSdkVersion="23"
时,我的应用程序的状态栏的背景却无法在android 8.0上绘制(在棒棒糖上,状态栏可以正确地绘制,无论我在android:targetSdkVersion中设置了什么。这是我在活动中使用的样式:
android:targetSdkVersion="24"
我的活动是<style name="myTheme" parent="@android:style/Theme.Material.Light.NoActionBar">
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:editTextStyle">@style/myDefaultEditText</item>
<item name="android:colorPrimary">#ff2b2e38</item>
<item name="android:colorAccent">#ff0288d1</item>
<item name="android:windowBackground">@drawable/splash_screen</item>
<item name="android:statusBarColor">#ff0087b4</item>
</style>
的后代。从 api 24 开始,状态栏看起来像透明的,我负责绘制背景。
api 24中引入了什么会导致此行为?但最重要的是,我如何强制android像lollipop一样绘制状态栏的背景?
答案 0 :(得分:1)
Android将使用.unfold().valueMap()
作为状态栏颜色。
colors.xml
colorPrimaryDark
v21 / styles.xml
<color name="colorPrimary">#22222a</color>
<color name="colorPrimaryDark">#191a20</color>
此外,您还应在常规styles.xml中包含向后兼容版本
styles.xml
<style name="myTheme" parent="@android:style/Theme.Material.Light.NoActionBar">
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
</style>
这将使您可以在较旧的设备上使用它。