Barra di stato di colore non mostrando - 5,0 Lollipop Android Studio : ( AppCompat - v7 : r21 )

? ADeveloper @ | Original: StackOverFlow
---

Sto utilizzando la libreria di supporto AppCompat-v7:21.0.0 per Android 5.0 Lollipop in Android Studio . Ora qual è il mio problema è che la barra di stato di colore che può essere modificato impostando colorPrimaryDark nel file values/styles.xml, sta mostrando come il nero, sia l'anteprima di layout xml e l'emulatore .

Allora, cosa c'è che non va ? Mi sto perdendo qualcosa ? Per favore mi faccia sapere. Grazie .

EDIT : Sono consapevole del fatto che la modifica della barra di colore di stato sulle versioni pre - Lollipop non è possibile. My XML layout Editor Preview e la mia Emulator sono entrambe impostate su API Level 21 ( 5.0 Lollipop ) . Ma, la barra di stato non è ancora del colore ho impostato al colorPrimaryDark . Ho provato a fare statusBarColor in styles.xml, ma senza alcun risultato . E 'ancora nero .

INOLTRE : Ho visto una delle risposte su una questione analoga, dove mi hanno consigliato di mettere il mio minSdkVersion per 21. Ho provato, ma non ha funzionato . E voglio la mia app per funzionare su dispositivi con API di livello 15 o superiore .

---

Top 5 Risposta

1Patrick @

Cambiare il colore della barra di stato in pre - Lollipop ( 5.0 ) non è possibile impostando colorPrimaryDark . Vedere http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html .

Su piattaforme meno recenti, AppCompat emula il colore tematizzazione dove possibile . Al momento questo è limitato a colorare la barra delle azioni e alcuni widget .

2Wayne @

Si prega di leggere questo : Per questo abbia effetto, la finestra deve essere disegnare gli sfondi della barra di sistema con

android.view.WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS

but

android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS

non deve essere impostato ( http://developer.android.com/reference/android/view/Window.html#setStatusBarColor(int ) )

In caso di voi non so come aggiungere quella bandiera :

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
3BladeCoder @

Avete impostato la versione di destinazione SDK a 21 ? Ho avuto lo stesso problema quando ho lasciato la versione di destinazione SDK a 19. È possibile lasciare l' SDK min per nulla inferiore.

E, naturalmente, si deve ereditare dal tema corretto e assicurarsi che il Activity utilizza.

4Philipp E. @

Questo ha funzionato per me :

   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        getWindow().setStatusBarColor(getResources().getColor(R.color.some_color));
    }
5gkiko @

Verificare se si sta modificando styles.xml nella cartella values-v21 . Se si imposta la versione SDK di 21 allora non cercherà styles.xml nella cartella values ( ma dovrebbe farlo ) .

Barra di stato di colore non mostrando - 5,0 Lollipop Android Studio : ( AppCompat - v7 : r21 )