Em uma das minhas atividades, alterei a cor da barra de ferramentas usando Palette
. Mas em dispositivos 5.0, ActionBarActivity
a status bar
cor é a cor do meu colorPrimaryDark
tema de atividade, por isso tenho duas cores muito diferentes e não parece bom.
Sei que no 5.0 você pode usar, Window.setStatusBarColor()
mas ActionBarActivity
não possui isso.
então minha pergunta é na versão 5.0, como posso alterar a cor da barra de status ActionBarActivity
?
Respostas:
Não sei se entendi o problema.
Se você deseja alterar a cor da barra de status programaticamente (e desde que o dispositivo tenha o Android 5.0), você pode usá-lo
Window.setStatusBarColor()
. Não deve fazer diferença se a atividade é derivada deActivity
ouActionBarActivity
.Apenas tente:
Apenas testei isso
ActionBarActivity
e funciona bem.Nota: A configuração do
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
sinalizador programaticamente não é necessária se ovalues-v21
arquivo de estilos já tiver sido definido, via:fonte
getWindow()
minSdkVersion
e / outargetSdkVersion
atributos no<uses-sdk ...>
elemento).Existem várias maneiras de alterar a cor da barra de status.
1) Usando o styles.xml. Você pode usar o atributo android: statusBarColor para fazer isso da maneira mais fácil, mas estática.
Nota: Você também pode usar este atributo com o tema Material.
2) Você pode fazer isso dinamicamente usando o método setStatusBarColor (int) na classe Window. Mas lembre-se de que esse método está disponível apenas para a API 21 ou superior. Certifique-se de verificar isso ou o seu aplicativo certamente trava nos dispositivos inferiores.
Aqui está um exemplo de trabalho desse método.
em que primaryDark é o tom 700 da cor principal que estou usando no meu aplicativo. Você pode definir essa cor no arquivo colors.xml.
Tente e me avise se tiver alguma dúvida. Espero que ajude.
fonte
clearFlags
corrigir o meu problemaNão acho que a cor da barra de status tenha sido implementada no AppCompat ainda. Estes são os atributos que estão disponíveis:
(De \ sdk \ extras \ android \ suporte \ v7 \ appcompat \ res \ values \ attrs.xml )
fonte
Tente isso, usei isso e funciona muito bem com a v21.
fonte
Obrigado pelas respostas acima, com a ajuda delas, após determinadas pesquisas e desenvolvimento do aplicativo xamarin.android MVVMCross, abaixo funcionou
Sinalizador especificado para atividade no método OnCreate
Para cada MvxActivity, o Tema é mencionado abaixo
Meu SplashStyle.xml é como abaixo
E eu tenho V7 appcompact referido.
fonte
[Versão Kotlin] Criei esta extensão que também verifica se a cor desejada tem contraste suficiente para ocultar a interface do sistema, como ícone de status da bateria, relógio, etc.
fonte
Aplicando
in
Theme.AppCompat.Light.DarkActionBar
não funcionou para mim. Qual foi o truque, dandocolorPrimaryDark
como de costume junto comandroid:colorPrimary
styles.xmle na configuração
não precisou definir a cor da barra de status no código.
fonte