android statusbar navigationbar android-5.0-lollipop

Estilo translúcido Android 4.4 y barras de navegación en Android 5.0



statusbar navigationbar (3)

Agregue la siguiente línea a su estilo:

<item name="android:windowTranslucentStatus">true</item> <item name="android:windowTranslucentNavigation">true</item>

En Android 4.4 KitKat puede establecer las barras de Estado y Navegación transparentes con los elementos del tema android:windowTranslucentStatus y android:windowTranslucentNavigation , y luego debajo de las barras se extiende la ventana de la aplicación y se agrega un degradado. Sin embargo, en Android 5.0 Lollipop esto ha cambiado y ahora, en lugar del degradado, se agrega un color transparente sólido. Android 5.0 ofrece los nuevos elementos android:statusBarColor y android:navigationBarColor bajo el nuevo tema Material, pero cuando intentas establecer estos elementos en @android:color/transparent la ventana de la aplicación no se extiende, y si usas android:windowTranslucentStatus y android:windowTranslucentNavigation then android:statusBarColor y android:navigationBarColor se ignoran.

¿Me falta algo descrito en http://developer.android.com/training/material/theme.html#StatusBar ?


Establezca android:windowTranslucentStatus en false y configure android:statusBarColor en @android:color/transparent .

A continuación, agregue el código a continuación:

getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

Si también desea que la barra de navegación sea translúcida, configure android:navigationBarColor en @android:color/transparent y combine la View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION también.

No experimenté en la barra de navegación, pero funcionará.


Para aclarar la respuesta de @ suckgamony a esta pregunta:

  • Debajo de Lollipop y arriba , establecer android:statusBarColor o android:navigationBarColor a @android:color/transparent hará que la barra de estado o la barra de navegación (respectivamente) sean completamente transparentes, a menos que:
  • android:windowTranslucentStatus o android:windowTranslucentNavigation se establece en true, en cuyo caso la barra de estado o la barra de navegación (respectivamente) se establece en el color transparente sólido que describe @AxeEffect (nuevamente, en Lollipop y arriba);
  • android:statusBarColor y android:navigationBarColor solo se puede usar con la versión de Android 21 (Lollipop 5.0) o superior. Como se describe en la respuesta referida , android:windowTranslucentStatus o android:windowTranslucentNavigation cuando se usa con Kitkat proporciona degradados transparentes en lugar de transparencia total.