Ich frage mich , ob es möglich ist, die Statusbar ändern Symbole Farbe ( nicht die Statusbar Farbe, colorPrimaryDark
)
Sagen wir , ich dieses statusbar wollen mit:
<item name="colorPrimaryDark">@android:color/white</item>
und die Symbole in Schwarz, ist es möglich?
Vielen Dank.
BEARBEITEN:
Neu in der M-Entwicklervorschau: windowLightStatusBar. Wenn Sie dies in Ihrem Thema aktivieren, wird das System angewiesen, einen dunklen Vordergrund zu verwenden, der für hellere Statusleisten nützlich ist. Beachten Sie, dass die M-Vorschau einen Fehler aufweist, bei dem Benachrichtigungssymbole weiß bleiben, während sich die Systemstatussymbole korrekt in halbtransparentes Schwarz ändern.
von: Roman Nurik Google+ Beitrag
<item name="android:windowLightStatusBar">true</item>
arbeitete für mich.Ja, es ist möglich, es in Grau zu ändern (keine benutzerdefinierten Farben), aber dies funktioniert nur ab API 23 und höher. Sie müssen dies nur in Ihre values-v23 / styles.xml einfügen
quelle
@eOnOe hat geantwortet, wie wir den Farbton der Statusleiste über XML ändern können. Wir können es aber auch dynamisch im Code ändern:
quelle
Wenn Sie eine API-Stufe kleiner als 23 haben, müssen Sie diese auf diese Weise verwenden. es hat bei mir funktioniert deklariere dies unter v21 / style .
quelle
tools:targetApi="23"
Teil weist Lint an, diese Warnung zu unterdrücken.Einstellen
windowLightStatusBar
auftrue
nicht arbeitet mit Mi - Telefone, einige Meizu Handys, Blackview Telefone, WileyFox etc. Ich habe festgestellt , so Hack für Mi und Meizu Geräte. Dies ist keine umfassende Lösung für dieses Leistungsproblem, aber vielleicht wäre es für jemanden nützlich.Und ich denke, es wäre besser, Ihrem Kunden zu sagen, dass das Färben der Statusleiste (zum Beispiel) Weiß keine gute Idee ist. Anstatt verschiedene Hacks zu verwenden, ist es besser, entsprechend
colorPrimaryDark
den Richtlinien angemessen zu definierenquelle
Ja, Sie können es ändern. aber in API 22 und höher mit NotificationCompat.Builder und setColorized (true):
quelle