Axe*_*ect 37 android statusbar navigationbar android-5.0-lollipop
在Android 4.4 KitKat上,您可以使用android:windowTranslucentStatus和android:windowTranslucentNavigation主题元素将状态和导航栏设置为透明,然后在条形图下方展开应用程序窗口并添加渐变.然而,在Android 5.0 Lollipop上,这已经改变了,现在代替了渐变,添加了坚固的透明色.是Android 5.0提供了新的android:statusBarColor和android:navigationBarColor元素在新材料题材,但是当你尝试设置这些元素@android:color/transparent的应用程序窗口没有延长,而如果你使用android:windowTranslucentStatus和android:windowTranslucentNavigation再android:statusBarColor和android:navigationBarColor被忽略.
我错过了http://developer.android.com/training/material/theme.html#StatusBar上描述的内容吗?

小智 65
设置android:windowTranslucentStatus为false并设置android:statusBarColor为@android:color/transparent.
然后添加以下代码:
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
如果你也想为半透明导航栏,设置android:navigationBarColor到@android:color/transparent并结合标志View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION为好.
我没有在导航栏上进行实验,但它会起作用.
小智 7
在你的风格下面添加以下内容:
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
Run Code Online (Sandbox Code Playgroud)
为了澄清@suckgamony对这个问题的回答:
android:statusBarColor或android:navigationBarColor以@android:color/transparent将使状态栏或导航栏(分别)是完全透明的,除非:android:windowTranslucentStatus或android:windowTranslucentNavigation设置为true,在这种情况下,状态栏或导航栏(分别)设置为@AxeEffect描述的纯透明颜色(同样,在Lollipop下)。android:statusBarColor并且android:navigationBarColor只能与Android版本21(Lollipop 5.0)或更高版本一起使用。如所提到的答案中所述,android:windowTranslucentStatus或android:windowTranslucentNavigation与Kitkat一起使用时,它提供透明的渐变而不是完全透明。| 归档时间: |
|
| 查看次数: |
24076 次 |
| 最近记录: |