工具栏覆盖状态栏

时间:2015-09-03 16:25:45

标签: java android statusbar transparent

我试图通过使用
使状态栏透明  真正 状态栏显示透明,但问题是状态栏上的工具栏叠加。工具栏是半可见的状态栏后面。我用真的解决了这个问题 但状态栏显示为灰色而不是我设置的主要颜色。怎么了?

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="colorPrimary">@color/primary_500</item>
    <item name="colorPrimaryDark">@color/primary_700</item>

    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:fitsSystemWindows">true</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowTranslucentStatus">true</item>

</style>

这是我的主题

3 个答案:

答案 0 :(得分:0)

这是因为您还指定了<item name="android:fitsSystemWindows">true</item>,告诉Android您要自己处理系统UI(例如状态栏)。

如果删除该元素,您会发现工具栏位于状态栏下方。

如果您出于某种原因,则需要更新布局以实际考虑状态栏。

答案 1 :(得分:0)

请检查此链接我已经回答了类似的问题您可以将statusBar颜色设置为透明

How to remove this gray color from topbar/status bar

答案 2 :(得分:-1)

在Styles-v21中添加尺寸为25dp且样式为0dp 您必须添加额外的布局,并将该维度作为工具栏上方的高度以及所需的颜色。

My Styles.xml

<style name="AppTheme.MovieDetails" parent="AppTheme.Base">
        <!-- Customize your theme here. -->

        <item name="android:textColorPrimary">@android:color/white</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="android:windowTranslucentStatus" tools:targetApi="21">true</item>
        <item name="android:windowContentOverlay">@null</item>

        <!-- Toolbar Theme / Apply background_with_ripple arrow -->
        <item name="colorControlNormal">@android:color/white</item>
        <item name="actionBarTheme">@style/AppTheme.ActionBarTheme</item>

        <!-- Material Theme -->
        <item name="android:navigationBarColor" tools:targetApi="21">@color/navigationBarColor
        </item>
        <item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="21">true</item>
    </style>