Nun, Izhar's Lösung war in Ordnung, aber persönlich versuche ich, Code zu vermeiden, der so aussieht:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//Führe die Aktionen für diese SDK-Version durch
};
Aber ich mag es auch nicht, Code zu duplizieren. In deiner Antwort muss ich eine Zeile Code wie unten in allen Activities hinzufügen:
setStatusBarColor(findViewById(R.id.statusBarHintergrund), getResources().getColor(android.R.color.weiss));
Also habe ich Izhar's Lösung übernommen und XML verwendet, um das gleiche Ergebnis zu erzielen: Erstelle ein Layout für die StatusBar status_bar.xml
Beachte die attribute für Höhe und Erhebung, diese werden weiter unten in Werten, Werten-v19, Werten-v21 festgelegt.
Füge dieses Layout deinem Activity-Layout mit include hinzu, main_activity.xml:
//Der Rest deines Layouts
Für die Toolbar füge das attribute für den oberen Rand hinzu:
In deiner AppTheme style-v19.xml und styles-v21.xml füge das windowTranslucent-Attribut hinzu:
styles-v19.xml, v21:
true
Und schließlich füge in deinen dimens, dimens-v19, dimens-v21 die Werte für den Toolbar-oberen Rand und die Höhe der StatusBar-Höhe hinzu: dimens.xml für weniger als KitKat:
4dp
0dp
0dp
Die Höhe der Statusleiste beträgt immer 24dp dimens-v19.xml für KitKat und höher:
24dp
24dp
dimens-v21.xml für Lolipop, füge nur die Erhebung hinzu, wenn benötigt:
4dp
Dies ist das Ergebnis für Jelly Bean, KitKat und Lollipop: