2016-09-06 9 views
9

Ich möchte die Farbe hervorgehoben Bar in Android Studio ändern:Wie ändert sich die Farbe der Statusleiste in Android?

kann ich tun

enter image description here

Wie?

+0

Sprechen Sie über Statusleiste oder unteren Leiste des Telefons oder etwas anderes? Bitte präzisieren Sie – KDeogharkar

+1

@KDeogharkar Das Bild erzählt alles Ding. Ich kenne die Terminologie nicht. – Humty

+0

ohk Ich kann es nicht sehen. imgur ist Block von meinem Ende. mein Fehler – KDeogharkar

Antwort

17

Sie können es durch die android:statusBarColor oder android:colorPrimaryDark Attribut des Stils ändern Einstellung in styles.xml für Ihre App verwenden.

(android:statusBarColor erbt den Wert von android:colorPrimaryDark Standardeinstellung)

Zum Beispiel (da wir ein AppCompat Thema hier verwenden, der android Namensraum weggelassen):

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimaryDark">@color/your_custom_color</item> 
</style> 

auf API-Ebene 21+ Sie können auch die Window.setStatusBarColor()-Methode aus dem Code verwenden.

-2

Hinweis: - Die Farbe der Statusleiste wird auf API-Ebene 19 oder 21 und über API-Ebene unterstützt.
Bitte überprüfen Sie diesen Link: change status bar color

1
<item name="colorPrimaryDark">@color/your_color</item> 

nur in Lollipop und größer als Lollipop (API) Geräte sichtbar sein. P.S. Sie müssen Theme.AppCompat als Ihr Basisthema verwenden

11

Die Statusleiste ist ein Systemfenster, das dem Betriebssystem gehört. Auf Android-Geräten vor Version 5.0,, haben Anwendungen keine Berechtigung, ihre Farbe zu ändern, daher kann die Bibliothek AppCompat nicht für ältere Plattformversionen unterstützt werden. Das beste, was AppCompat tun kann, ist die Unterstützung für das Einfärben der ActionBar und anderer gebräuchlicher UI-Widgets innerhalb der Anwendung.

Auf Post-5.0 Android-Geräten, Ändern der Farbe der Statusleiste erfordert auch die Einstellung zwei zusätzliche Flags auf dem Fenster; Sie müssen die FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS Flagge hinzufügen und löschen Sie die FLAG_TRANSLUCENT_STATUS Flagge.

Window window = activity.getWindow(); 

// clear FLAG_TRANSLUCENT_STATUS flag: 
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 

// add FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS flag to the window 
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 

// finally change the color 
window.setStatusBarColor(activity.getResources().getColor(R.color.my_statusbar_color)); 
2

Sie können auch diese Zeilen Code in Hauptaktivität hinzufügen

if (Build.VERSION.SDK_INT >= 21) { 
     getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.dark_nav)); // Navigation bar the soft bottom of some phones like nexus and some Samsung note series 
     getWindow().setStatusBarColor(ContextCompat.getColor(this,R.color.statusbar)); //status bar or the time bar at the top 
     } 
Verwandte Themen