2016-07-14 38 views
14

Ich versuche, das Verhalten von Google Kalender-Anwendung zu reproduzieren: enter image description hereÄndern Statusleiste Textfarbe, wenn primaryDark weiß ist

aber ich habe einen Weg gefunden, die Status Textfarbe zu ändern. Wenn ich colorPrimaryDark als weiß setze, kann ich weder die Symbole noch den Text der Statusleiste sehen, da ihre Farbe ebenfalls weiß ist.

Gibt es eine Möglichkeit, die Statusleiste Textfarbe zu ändern?

Vielen Dank im Voraus

Antwort

20

Ich bin nicht sicher, was Ihre API-Ebene gezielt versucht, aber wenn Sie API 23 bestimmte Dinge verwenden können, können Sie die folgenden zu Ihrem AppTheme styles.xml hinzufügen:

<item name="android:statusBarColor">@color/colorPrimaryDark</item> 
<item name="android:windowLightStatusBar">true</item> 

wenn android:windowLightStatusBar auf true gesetzt ist, wird die Statusleiste Textfarbe der Lage sein, zu sehen, wenn die Statusleiste Farbe ist weiß, und umgekehrt wenn android:windowLightStatusBar auf false gesetzt ist, wird die Statusleiste Textfarbe gestaltet werden, gesehen werden wenn die Farbe der Statusleiste dunkel ist.

Beispiel:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <!-- Status bar stuff. --> 
    <item name="android:statusBarColor">@color/colorPrimaryDark</item> 
    <item name="android:windowLightStatusBar">true</item> 
</style> 
+1

Great !! Das funktioniert für mich :) – MarcForn

+12

Wenn mein API-Level 21 ist, funktioniert es nicht, können Sie mir die Alternative dafür sagen – saikrupa