Status Bar Cor não mostrando - 5.0 Lollipop Android Estúdio: ( AppCompat - v7 : r21 )

? ADeveloper @ | Original: StackOverFlow
---

Eu estou usando o AppCompat-v7:21.0.0 biblioteca de suporte para Android 5.0 Lollipop em Android Studio. Agora o meu problema é que a cor da barra de status que pode ser alterado, definindo colorPrimaryDark no arquivo values/styles.xml, está aparecendo como preto, tanto na visualização de layout xml eo emulador .

Então, o que há de errado? Estou faltando alguma coisa ? Por favor, me avise. Obrigado.

EDIT : Eu estou ciente do fato de que a mudança da cor da barra de status em versões pré- pirulito não é possível. Meu XML Editor de Layout Preview e minha Emulator são definidas como Nível API 21 (5,0 Lollipop ) . Mas, a barra de status ainda não é da cor que eu defini-lo no colorPrimaryDark . Eu tentei fazer statusBarColor in styles.xml, mas sem sucesso . Ainda é preto.

TAMBÉM : Eu vi uma das respostas em uma pergunta semelhante, onde eles me aconselhou a colocar o meu minSdkVersion para 21. Eu tentei isso, mas não funcionou. E eu quero que meu aplicativo para funcionar em dispositivos com API Nível 15 e acima.

---

Top 5 Responder

1Patrick @

Mudar a cor do barra de status no pré- Lollipop (5,0 ) não é possível através da criação colorPrimaryDark . Veja http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html .

Em plataformas mais antigas, AppCompat emula a tematização de cores, sempre que possível . No momento em que este é limitado a colorir a barra de ação e alguns widgets.

2Wayne @

Por favor, leia isso : para que isso tenha efeito, a janela deve estar puxando a barra de sistema de fundos com

android.view.WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS

but

android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS

não deve ser definido ( http://developer.android.com/reference/android/view/Window.html#setStatusBarColor(int ) )

No caso de você não sabe como adicionar essa bandeira :

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

Você ajustou a versão de destino SDK para 21 ? Eu tive o mesmo problema quando eu deixei a versão de destino SDK para 19. Você pode deixar o min SDK para qualquer coisa menor .

E é claro que você precisa para herdar o tema adequado e certificar-se de sua atividade de usa-lo .

4Philipp E. @

Isso funcionou para mim :

   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 @

Verifique se você está editando styles.xml na pasta values-v21 . Se você definir a versão do SDK para 21, então não vai procurar styles.xml na pasta values ( mas deve fazê-lo) .

Status Bar Cor não mostrando - 5.0 Lollipop Android Estúdio: ( AppCompat - v7 : r21 )