En la nueva actualización de piruletas, noté que con las aplicaciones nativas de Google, el color de la barra de estado cambia para coincidir con la barra de acción de la aplicación que estás ejecutando. Veo que también está en la aplicación de Twitter, así que supongo que no es exclusivamente Google quien puede hacerlo.
¿Alguien sabe cómo hacer esto si es posible?
fuente
getWindow().setStatusBarColor(activity.getResources().getColor(R.color.example_color));
y funcionó perfectamente. No estoy seguro del contexto en el que las banderas son estrictamente necesarias.Solo agregue esto en su styles.xml. ColorPrimary es para la barra de acción y colorPrimaryDark es para la barra de estado.
Esta imagen del desarrollador Android explica más sobre la paleta de colores. Puedes leer más en este enlace .
fuente
<color name="colorPrimary">#somecolor</color>
y<color name="colorPrimaryDark">#somecolor</color>
. Se pueden cambiar para lograr el efecto deseado.Otra forma de establecer el color de la barra de estado es mediante style.xml .
Para hacer eso, cree un archivo style.xml en la carpeta res / values-v21 con este contenido:
Editar: como se señaló en los comentarios, cuando se usa AppCompat, el código es diferente. En el archivo res / values / style.xml use en su lugar:
fuente
Para establecer el color de la barra de estado, cree un archivo style.xml en la carpeta res / values-v21 con este contenido:
fuente
Agregue esta línea en el estilo de v21 si usa dos estilos.
fuente
android:windowDrawsSystemBarBackgrounds
Además, si desea un
status-bar
color diferente para diferentes actividades ( fragmentos ), puede hacerlo con los siguientes pasos (trabajar en API 21 y superior):Primero crea
values21/style.xml
y coloca el siguiente código:Luego, defina los temas Blanco | Oscuro de la
values/style.xml
siguiente manera:Además, no olvide aplicar temas en su
manifest.xml
.fuente
En dispositivos Android anteriores a Lollipop, puede hacerlo desde SystemBarTintManager. Si está usando Android Studio, simplemente agregue Systembartint lib en su archivo gradle.
Luego en tu actividad
fuente