其他人在使用sdk 26或27后遇到状态栏的问题时总是灰色的吗?我最近更新了Android,并使用27作为我的目标sdk,现在启动的每个活动都有一个灰色状态栏。我没有改变风格或主题,但它们总是灰色的。
另一个有趣的发展是我的MainActivity在那里有一个导航抽屉,它没有问题,在我的原色上呈现半透明状态。但我在那里发起的每一项活动都有灰色状态栏。我完全不知道为什么,但我认为这是SDK版本,因为我以前没有任何问题。
每个活动都引用此样式,它过去既适用于MainActivity,也适用于所有其他活动:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
我可以通过移除半透明标志和手动设置状态条颜色来解决灰色问题。然而,这现在打破了MainActivity的导航抽屉,打开半透明的状态栏(这只是坚实的颜色)。在一个完美的世界里,我希望在所有的活动中,在我的原色之上设置半透明的状态栏。
任何帮助都将不胜感激!
更新:如果我使用SDK 27并使用它更新支持依赖项,我可以确认问题本身。如果我回到SDK 26版本,问题似乎就消失了。有什么与27特别相关的事情,我们需要注意吗?
发布于 2018-03-15 08:50:26
在styles.xml(V21)中添加这一行:
<item name="android:statusBarColor">@color/PrimaryDark</item>
它可以解决你的问题。
发布于 2018-03-15 13:36:56
正如我在评论中指出的那样,我遇到了一个类似的问题,这个问题在API27中才开始显现出来。状态栏不是特别灰色的-它只是透明的。
我的特殊解决方案是,我values-v21
文件夹中的values-v21
如下:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
删除android:statusBarColor
行为我修复了问题。
我之所以将此作为一个答案来发布,是因为在早期的API版本中,这个不确定的行并没有影响状态栏--这本身可能是一个单独的问题。这个问题似乎已经在API27中解决了,这就是为什么状态栏现在看起来是透明的。
发布于 2018-05-25 14:54:00
API 27也有同样的问题。
在styles.xml(v21)中,我有:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowActivityTransitions">true</item>
</style>
然后,在我的应用程序的根布局中添加了以下内容:
android:background="@color/colorPrimary"
android:fitsSystemWindows="true"
解决了我的问题。
我正在使用第二个CoordinatorLayout
,它按照 this answer 中的建议包装AppBar,因为它没有在状态栏上显示AppBar的阴影
正如我所看到的,问题是根CoordinatorLayout
是在StatusBar后面绘制的,背景是白色,但是AppBar不是。
编辑:经过更多的测试,我可以说在styles.xml(21)中使用:@android:color/透明
<item name="android:windowTranslucentStatus">true</item>
并在我的根布局中使用:
android:background="@color/colorPrimaryDark"
结果有更好的颜色感。
https://stackoverflow.com/questions/49282316
复制相似问题