Dans la nouvelle mise à jour Lollipop, j'ai remarqué qu'avec les applications Google natives, la couleur de la barre d'état change pour correspondre à la barre d'action de l'application que vous exécutez. Je vois que c'est également sur l'application Twitter, donc je suppose que ce n'est pas exclusivement Google qui peut le faire.
Est-ce que quelqu'un sait comment faire cela si c'est possible?
la source
getWindow().setStatusBarColor(activity.getResources().getColor(R.color.example_color));
et cela a parfaitement fonctionné. Pas sûr du contexte dans lequel les drapeaux sont strictement nécessaires.Ajoutez simplement ceci dans votre style.xml. Le colorPrimary est pour la barre d'action et le colorPrimaryDark est pour la barre d'état.
Cette image du développeur Android explique plus en détail la palette de couleurs. Vous pouvez en savoir plus sur ce lien .
la source
<color name="colorPrimary">#somecolor</color>
et<color name="colorPrimaryDark">#somecolor</color>
. Ils peuvent être modifiés pour obtenir l'effet souhaité.Une autre façon de définir la couleur de la barre d'état consiste à utiliser le fichier style.xml .
Pour ce faire, créez un fichier style.xml dans le dossier res / values-v21 avec ce contenu:
Edit: comme indiqué dans les commentaires, lorsque vous utilisez AppCompat, le code est différent. Dans le fichier res / values / style.xml, utilisez à la place:
la source
Pour définir la couleur de la barre d'état, créez un fichier style.xml dans le dossier res / values-v21 avec ce contenu:
la source
Ajoutez cette ligne dans le style de v21 si vous utilisez deux styles.
la source
android:windowDrawsSystemBarBackgrounds
De plus, si vous voulez une
status-bar
couleur différente pour différentes activités ( fragments ), vous pouvez le faire avec les étapes suivantes (travailler sur l'API 21 et plus):Commencez par créer
values21/style.xml
et mettre le code suivant:Ensuite, définissez les thèmes Blanc | Sombre
values/style.xml
comme suit:N'oubliez pas non plus d'appliquer des thèmes dans votre fichier
manifest.xml
.la source
Dans les appareils Android pré Lollipop, vous pouvez le faire à partir de SystemBarTintManager Si vous utilisez Android Studio, ajoutez simplement Systembartint lib dans votre fichier gradle.
Puis dans votre activité
la source