【发布时间】:2015-04-02 02:12:21
【问题描述】:
我正在开发一个Activity,我需要在其中使导航栏不透明,并且在运行 5.0+(API 21+)的设备上使状态栏透明。下面是我使用的样式,以及对我的问题的解释。
AppTheme 扩展 Theme.AppCompat.Light.NoActionBar
<item name="android:statusBarColor">@color/transparent</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/welbe_red_transparent</item>
FullscreenTheme 扩展 AppTheme
<item name="android:windowNoTitle">true</item>
<item name="android:statusBarColor">@color/transparent</item>
<item name="android:windowTranslucentNavigation">true</item>
这使应用看起来像这样
如果我删除android:windowTranslucentNavigation 样式,或将其设置为Fullscreen 中的false,它会修复导航栏问题。问题是状态栏完全变成白色,而不是保持透明并显示其背后的内容。
我曾尝试在我的布局中使用fitsSystemWindow="true",但它并没有解决问题。有人知道为什么会这样吗?
【问题讨论】:
-
我有点不清楚你真正想要什么:导航栏默认、透明状态栏和你在状态栏后面的背景。对吗?
-
是的,这正是我想要展示的。当我关闭
android:windowTranslucentNavigation时,背景停止在状态栏后面延伸。
标签: android android-layout android-appcompat android-styles