it-swarm-pt.com

Como posso tornar a barra de status branca com ícones pretos?

Quero alterar a cor da barra de status do meu aplicativo para que fique branco com ícones pretos (em vez do padrão preto com ícones brancos). Existe alguma maneira de fazer isso?

36
Jon

Com o Android M (nível de API 23) você pode conseguir isso a partir do tema com o atributo Android:windowLightStatusBar.

Editar: 

Assim como a Pdroid mencionou, isso também pode ser alcançado programaticamente:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); 
64
wrecker

É possível fazer a barra de status branca com ícones cinzentos, e. Desta forma, para o SDK> = 23:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="Android:windowLightStatusBar">true</item>
</style>

no seu styles.xml e defina o colorPrimary para white ou programaticamente:  

getWindow().setStatusBarColor(Color.WHITE);
15
Rammgarot

Apenas adicionado à minha atividade no Kotlin:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                window.decorView.systemUiVisibility =View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
                window.statusBarColor = Color.WHITE
            }
7
Serg Burlaka

Não há como, a menos que você tenha um controle de toda a ROM para personalizar isso manualmente. O que eu sugiro que você faça é usar uma cor cinza claro para a cor da barra de status através do seu tema como o drive google faz. 

Editar: por favor, consulte a resposta @Wrekcker como isso mudou no Android M.

2
k0sh

basta adicionar isso ao seu estilo

<item name="Android:windowDrawsSystemBarBackgrounds">true</item>
<item name="Android:statusBarColor">@Android:color/transparent</item>

set Android: windowDrawsSystemBarBackgrounds to true * . Este é um sinalizador cuja descrição é dada abaixo:

Sinalizador indicando se esta janela é responsável por desenhar o plano de fundo para as barras do sistema. Se true e a janela não estiver flutuando, as barras do sistema serão desenhadas com um plano de fundo transparente e as áreas correspondentes nessa janela serão preenchidas com as cores especificadas em {@link Android.R.attr # statusBarColor} e {@link Android.R .attr # navigationBarColor}. Corresponde a {@link Android.view.WindowManager.LayoutParams # FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS}.

1
Ayejuni Ilemobayo Kings