制作状态栏kitkat Translucent android

时间:2016-04-21 08:49:38

标签: android xml

我在互联网上遵循一些教程,使api19(kitkat)上的状态栏透明,但我有这样的东西 (android:theme="@style/AppTheme.NoActionBar" 样式enter image description here

和v-19 \ styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="AppTheme.Base">
        <item name="android:windowTranslucentStatus">true</item>
    </style>
</resources>

styles.xml

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="colorControlHighlight">@color/accent</item>
        <item name="android:textColorSecondary">@color/primary</item>
        <item name="android:popupMenuStyle">@style/AppTheme.PopupOverlay</item>
        <item name="android:popupBackground">@color/light</item>
    </style>

我如何将白色半透明变成透明或彩色的初级,以便它与动作条混合..

2 个答案:

答案 0 :(得分:1)

将此添加到您的v-19\styles.xml

<style name="AppTheme" parent="AppTheme.Base">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
</style>

以及xml文件的根布局的以下属性:

android:fitsSystemWindows="true"

答案 1 :(得分:1)

我找到了自己的解决方案,我们需要为v19 \ styles.xml创建样式值,如下所示

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="AppTheme.Base">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="android:windowBackground">@color/primary</item>
        <item name="android:clipToPadding">false</item>
    </style>
</resources>

如果我们使用CoordinatorLayout作为根视图,如果我们使用android:windowBackgroundLinear布局等常规布局,我们会使用Relative颜色获得半透明状态栏和导航底栏淡入淡出我们得到了完全透明的状态和导航栏,就像我们使用DrawerLayout一样,它会给出相同的结果。 在根布局中添加android:fitsSystemWindows="true"将使内容保留在应用程序容器内,以避免与状态栏或导航栏崩溃或重叠。