Aktualisierung:
Lollipop:
public abstract void setStatusBarColor (int color)
Hinzugefügt in API-Level 21
Android Lollipop brachte die Möglichkeit mit, die Farbe der Statusleiste in Ihrer App für eine immersivere Benutzererfahrung zu ändern und im Einklang mit den Materialdesign-Richtlinien von Google.
Hier ist, wie Sie die Farbe der Statusleiste mit der neuen Methode window.setStatusBarColor
in API-Level 21
ändern können.
Die Änderung der Farbe der Statusleiste erfordert auch das Setzen von zwei zusätzlichen Flags im Fenster; Sie müssen das FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
-Flag hinzufügen und das FLAG_TRANSLUCENT_STATUS
-Flag löschen.
Funktionsfähiger Code:
import android.view.Window;
...
Window window = activity.getWindow();
// Löschen des FLAG_TRANSLUCENT_STATUS-Flags:
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// Hinzufügen des FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS-Flags zum Fenster
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
// schließlich die Farbe ändern
window.setStatusBarColor(ContextCompat.getColor(activity,R.color.my_statusbar_color));
Offizielle Entwicklerreferenz: setStatusBarColor(int)
Beispiel: material-design-everywhere
Chris Banes Blog- appcompat v21: Material Design für Pre-Lollipop-Geräte!
Der transitionName
für den Ansichtshintergrund lautet android:status:background
.