Search code examples
androidcolorsstatusandroid-5.0-lollipop

How to change status bar color to match app in Lollipop? [Android]


In the new lollipop update I noticed that with the native Google apps the color of the status bar changes to match the action bar on the app you're running. I see it's on the Twitter app also so I'm guessing it's not exclusively Google who can do it.

Does anyone know how to do this if it is possible?


Solution

  • To change status bar color use setStatusBarColor(int color). According the javadoc, we also need set some flags on the window.

    Working snippet of code:

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


    Keep in mind according Material Design guidelines status bar color and action bar color should be different:

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

    Look at the screenshot below:

    enter image description here