Sur Android 4.4 KitKat, vous pouvez définir les barres d'état et de navigation transparentes avec le Android:windowTranslucentStatus
et Android:windowTranslucentNavigation
éléments de thème, puis sous les barres, la fenêtre de l'application est étendue et un dégradé est ajouté. Cependant sur Android 5.0 Lollipop cela a été changé et maintenant au lieu du dégradé une couleur transparente solide est ajoutée. Android 5.0 offre le nouveau Android:statusBarColor
et Android:navigationBarColor
éléments sous le nouveau thème Matériau, mais lorsque vous essayez de définir ces éléments sur @Android:color/transparent
la fenêtre de l'application n'est pas étendue et si vous utilisez Android:windowTranslucentStatus
et Android:windowTranslucentNavigation
puis Android:statusBarColor
et Android:navigationBarColor
sont ignorés.
Suis-je en train de manquer quelque chose décrit sur http://developer.Android.com/training/material/theme.html#StatusBar ?
Ensemble Android:windowTranslucentStatus
à faux et définissez Android:statusBarColor
à @Android:color/transparent
.
Ajoutez ensuite le code ci-dessous:
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
Si vous souhaitez également que la barre de navigation soit translucide, définissez Android:navigationBarColor
à @Android:color/transparent
et combinez le drapeau View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
ainsi que.
Je n'ai pas expérimenté sur la barre de navigation mais cela fonctionnera.
Ajoutez la ligne ci-dessous à votre style:
<item name="Android:windowTranslucentStatus">true</item>
<item name="Android:windowTranslucentNavigation">true</item>
Pour clarifier @ réponse de suckgamony à cette question:
Android:statusBarColor
ou Android:navigationBarColor
à @Android:color/transparent
rendra la barre d'état ou la barre de navigation (respectivement) complètement transparent, sauf:Android:windowTranslucentStatus
ou Android:windowTranslucentNavigation
est défini sur true, auquel cas la barre d'état ou la barre de navigation (respectivement) est défini sur la couleur transparente transparente décrite par @AxeEffect (encore une fois, sous Lollipop et ci-dessus);Android:statusBarColor
et Android:navigationBarColor
ne peut être utilisé qu'avec Android version 21 (Lollipop 5.0) ou supérieure. Comme décrit dans la réponse à laquelle il est fait référence , Android:windowTranslucentStatus
ou Android:windowTranslucentNavigation
lorsqu'il est utilisé avec KitKat fournit des dégradés transparents plutôt qu'une transparence totale.