Comment changer la barre d'état couleur pour correspondre à l'application de Lollipop ? [ Android ]

? Briscoooe @ | Original: StackOverFlow

Dans la nouvelle mise à jour de sucette je ai remarqué que le natif des applications Google la couleur des changements de la barre d'état en fonction de la barre d'action sur l'application que vous utilisez. Je vois que ce est sur ​​l'app Twitter aussi, donc je devine que ce est pas exclusivement Google qui peut le faire .

Est-ce que quelqu'un sait comment faire cela si ce est possible ?



Top 5 Respuesta

1mklimek @

Pour modifier la barre d'état l'utilisation de la couleur http://developer.android.com/reference/android/view/Window.html#setStatusBarColor(int ) . Selon javadoc, nous devons également fixé des drapeaux sur la fenêtre .

Extrait de code de travail:

Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(activity.getResources().getColor(R.color.example_color));

Gardez à l'esprit, http://www.google.com/design/spec/style/color.html#color-ui-color-application, couleur de la barre d'état et l'action bar couleur devrait être différent :

ActionBar should use primary 500 color StatusBar should use primary 700 color

Regardez la capture d'écran ci-dessous :

Comment changer la barre d'état couleur pour correspondre à l'application de Lollipop ? [ Android ]



2albemala @

Une autre façon de définir la couleur de la barre d'état est à travers la style.xml .

Pour ce faire, créer un fichier style.xml sous le dossier res / valeurs - v21 avec ce contenu :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material">
        <!--   darker variant for the status bar and contextual app bars -->
        <item name="android:colorPrimaryDark">@color/blue_dark</item>
    </style>
</resources>

Edit: comme l'a souligné dans les commentaires, lors de l'utilisation AppCompat le code est différent . Dans le fichier res / valeurs / l'utilisation des style.xml place :

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">   
    <!-- Set AppCompat’s color theming attrs -->
    <item name=”colorPrimary”>@color/my_awesome_red</item>
    <item name=”colorPrimaryDark”>@color/my_awesome_darker_red</item>
    <!-- Other attributes -->
</style>