在状态栏中的颜色下方添加阴影

时间:2016-12-12 14:16:19

标签: android android-toolbar android-styles android-statusbar

你好,我在为状态栏添加颜色和阴影时遇到麻烦,所以它看起来有点黑暗。

我现在拥有的是:

enter image description here

我想做的是:

enter image description here

我的styles.xml是:

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowActionBarOverlay">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
    </style>

    <style name="FullscreenActionBarStyle" parent="Widget.AppCompat.ActionBar">
        <item name="android:background">@color/colorPrimaryDarkShadow</item>
    </style>
</resources>

和我的colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#607d8b</color>
    <color name="colorPrimaryDark">#607d8b</color>
<resources>

但由于某些原因,我最终使用工具栏和状态栏来获得完全相同的颜色。我尝试按照另一篇文章的建议添加android:elevation="8dp",但结果仍然相同。任何人都可以指导我完成它吗?

2 个答案:

答案 0 :(得分:0)

将您的主题parent="Theme.AppCompat.Light.NoActionBar"更改为parent="Theme.AppCompat.Light"

<style name="AppTheme.Me" parent="Theme.AppCompat.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

答案 1 :(得分:0)

您有两种选择:

  1. colorPrimaryDark更改为您要使用的颜色 状态栏。 AppCompat主题自动设置状态栏 颜色为colorPrimaryDark

    由于您使用的是Material Blue Grey 500 [#607D8B] colorPrimary,Google建议使用700版本 colorPrimaryDark;这是#455A64

  2. 使用主题将状态栏设置为半透明 windowTranslucentStatus。这将添加一个半透明的黑色 状态栏的背景。

    <item name="android:windowTranslucentStatus">true</item>
    

    您还必须在布局中添加android:fitsSystemWindows 为了利用这一点。