在Android 4.4 KitKat上,您可以使用 android:windowTranslucentStatus
和 android:windowTranslucentNavigation
主题元素将状态和导航栏设置为透明,然后在条形图下方展开应用程序窗口并添加渐变 . 然而,在Android 5.0 Lollipop上,这已经改变了,现在代替了渐变,添加了坚固的透明色 . Android 5.0在新的Material主题下提供了新的 android:statusBarColor
和 android:navigationBarColor
元素,但是当您尝试将这些元素设置为 @android:color/transparent
时,应用程序窗口未扩展,如果您使用 android:windowTranslucentStatus
和 android:windowTranslucentNavigation
,则忽略 android:statusBarColor
和 android:navigationBarColor
.
我错过了http://developer.android.com/training/material/theme.html#StatusBar上描述的内容吗?
3 回答
将
android:windowTranslucentStatus
设置为false并将android:statusBarColor
设置为@android:color/transparent
.然后添加以下代码:
如果您还希望导航栏为半透明,请将
android:navigationBarColor
设置为@android:color/transparent
并同时组合标记View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
.我没有在导航栏上进行实验,但它会起作用 .
在你的风格下面添加以下内容:
澄清@suckgamony's answer这个问题:
Under Lollipop and above ,设置
android:statusBarColor
或android:navigationBarColor
至@android:color/transparent
将使 Status Bar 或 Navigation Bar (分别)完全透明,除非:android:windowTranslucentStatus
或android:windowTranslucentNavigation
设置为true,在这种情况下 Status Bar 或 Navigation Bar (分别)设置为固体透明颜色@AxeEffect描述(再次,在Lollipop及以上);android:statusBarColor
和android:navigationBarColor
只能与Android版本21(Lollipop 5.0)或更高版本一起使用 . 如the referred to answer,android:windowTranslucentStatus
或android:windowTranslucentNavigation
中所述,当与Kitkat一起使用时,提供透明渐变而不是完全透明 .