【问题标题】:Shadow appearing on Android status barAndroid状态栏出现阴影
【发布时间】:2016-01-30 08:50:24
【问题描述】:

我一直在尝试让 Android 5.0+ 版本的手机上的状态栏变成半透明,但无济于事。它有效,但它有一个阴影。

这是我的styles.xml:

<resources>

<!-- Base application theme. -->
<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>

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

这是我的 styles.xml (v21):

<resources>>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

知道我应该如何解决这个问题吗?我尝试在 CoordinatorLayout 和 AppBarLayout 上调用 setVerticalFadingEdgeEnable(false),但阴影仍然出现在状态栏上。任何帮助将不胜感激。

提前致谢。

【问题讨论】:

    标签: android statusbar


    【解决方案1】:

    这个影子是windowContentOverlay 的一部分,在LOLLIPOP 下面的API 上(在LOLLIPOP 上它是@null)。

    当您使用工具栏小部件时,工具栏不再是窗口装饰的一部分,因此阴影从工具栏上方的窗口顶部开始,而不是在其下方(因此您希望 windowContentOverlay 为@null)。此外,您需要在toolbar pre-LOLLIPOP 下方添加一个额外的空视图,并将其背景设置为可绘制的垂直阴影(8dp tall gradient#20000000#00000000 效果最好)。在LOLLIPOP 上,您可以改为在工具栏上设置8dp elevation

    更多详情请访问Toolbar's shadow on status bar for Lollipop

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 2017-04-19
    • 2016-03-08
    • 1970-01-01
    • 2014-10-06
    • 2018-01-03
    • 1970-01-01
    相关资源
    最近更新 更多