我一直试图在安卓版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),但阴影仍然出现在状态栏上。任何帮助将不胜感激。
提前致谢。
答案 0 :(得分:-1)
此影子是windowContentOverlay
以下API LOLLIPOP
的一部分(在LOLLIPOP上它是@null)。
当您使用工具栏小部件时,工具栏不再是窗口装饰的一部分,因此阴影从窗口顶部开始,而不是在工具栏下方(因此您希望windowContentOverlay为@null)。此外,您需要在toolbar pre-LOLLIPOP
下方添加一个额外的空视图,其背景设置为垂直阴影可绘制(从8dp tall gradient
到#20000000
#00000000
效果最佳)。在LOLLIPOP
,您可以在工具栏上设置8dp elevation
。