En una de mis actividades, cambié el color de la barra de herramientas usando Palette
. Pero en los dispositivos 5.0 que usan ActionBarActivity
el status bar
color es el color de mi colorPrimaryDark
tema en mi actividad, por lo que tengo 2 colores muy diferentes y no se ve bien.
Me doy cuenta de que en 5.0 puedes usar Window.setStatusBarColor()
pero ActionBarActivity
no tiene esto.
entonces mi pregunta es en 5.0 ¿cómo puedo cambiar el color de la barra de estado ActionBarActivity
?
Respuestas:
No estoy seguro de entender el problema.
Si desea cambiar el color de la barra de estado mediante programación (y siempre que el dispositivo tenga Android 5.0), puede usarlo
Window.setStatusBarColor()
. No debería hacer una diferencia si la actividad se deriva deActivity
oActionBarActivity
.Solo intenta hacer:
Acabo de probar esto
ActionBarActivity
y funciona bien.Nota:
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
No es necesario configurar el indicador mediante programación si suvalues-v21
archivo de estilos ya lo tiene configurado, a través de:fuente
getWindow()
minSdkVersion
y / otargetSdkVersion
atributos en el<uses-sdk ...>
elemento).Hay varias formas de cambiar el color de la barra de estado.
1) Usando el styles.xml. Puede usar el atributo android: statusBarColor para hacer esto de manera fácil pero estática.
Nota: También puede usar este atributo con el tema Material.
2) Puede hacerlo dinámicamente utilizando el método setStatusBarColor (int) en la clase Window. Pero recuerde que este método solo está disponible para API 21 o superior. Así que asegúrese de verificar eso, o su aplicación seguramente se bloqueará en dispositivos inferiores.
Aquí hay un ejemplo de trabajo de este método.
donde primaryDark es el tinte 700 del color primario que estoy usando en mi aplicación. Puede definir este color en el archivo colors.xml.
Pruébalo y avísame si tienes alguna pregunta. Espero eso ayude.
fuente
clearFlags
arreglar mi problemaNo creo que el color de la barra de estado se haya implementado en AppCompat todavía. Estos son los atributos que están disponibles:
(Desde \ sdk \ extras \ android \ support \ v7 \ appcompat \ res \ values \ attrs.xml )
fuente
Prueba esto, lo usé y funciona muy bien con v21.
fuente
Gracias por las respuestas anteriores, con la ayuda de aquellos, después de cierta I + D para la aplicación MVVMCross xamarin.android, a continuación funcionó
Indicador especificado para la actividad en el método OnCreate
Para cada MvxActivity, el tema se menciona a continuación
Mi SplashStyle.xml se ve a continuación
Y tengo V7 appcompact referido.
fuente
[Versión de Kotlin] Creé esta extensión que también comprueba si el color deseado tiene suficiente contraste para ocultar la IU del sistema, como el icono de estado de la batería, el reloj, etc., por lo que configuramos la IU del sistema en blanco o negro de acuerdo con esto.
fuente
Aplicando
en
Theme.AppCompat.Light.DarkActionBar
no funcionó para mí. ¿Cuál fue el truco, darcolorPrimaryDark
como de costumbre junto conandroid:colorPrimary
en styles.xmly en ambientación
no tuvo que establecer el color de la barra de estado en el código.
fuente