Estoy usando una barra de herramientas android.support.v7.widget.Toolbar y aprendí de esta publicación cómo cambiar el color del icono de la hamburguesa a blanco, pero la flecha hacia arriba / atrás sigue siendo de color oscuro cuando llamo
setDisplayHomeAsUpEnabled(true);
¿Cómo puedo hacer que la flecha también sea blanca?
Así es como se ve mi barra de herramientas cuando llamo a setDisplayHomeAsUpEnabled ():
... y aquí está la parte relevante de mi archivo styles.xml:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">#194C5F</item>
<item name="colorAccent">@color/accent</item>
<item name="drawerArrowStyle">@style/WhiteDrawerIconStyle</item>
</style>
<style name="WhiteDrawerIconStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>
android
icons
toolbar
android-support-library
Joshua W
fuente
fuente
colorControlNormal
valorRespuestas:
Lo resolví editando styles.xml:
... luego haciendo referencia al estilo en la definición de la barra de herramientas en la actividad:
fuente
colorControlNormal
lugarandroid:textColorSecondary
Esto es lo que busca. Pero esto también cambia el color de radioButton, etc. Así que es posible que desee utilizar un tema para ello.
fuente
Lo resolví programáticamente usando este código:
Revisión 1:
A partir de API 23 (Marshmallow), el recurso dibujable
abc_ic_ab_back_mtrl_am_alpha
se cambia aabc_ic_ab_back_material
.fuente
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Fragment
? Si es así, ¿dónde colocaría este código? ¿ElOnCreateView
método, la raíz de la clase o ...?Esta respuesta quizás sea demasiado tarde, pero así es como lo hago. Diseñar la barra de herramientas funcionará. Cree toolbar.xml con el siguiente código.
y en styles.xml
Finalmente, incluya la barra de herramientas dentro del diseño
fuente
Cambie el tema de la barra de herramientas a ThemeOverlay.AppCompat.Dark
y ponerlo en actividad
fuente
Demasiado tarde para publicar, esto funcionó para cambiar el color del botón de retroceso
fuente
Bueno, hay una manera más fácil de hacer esto.
Y entonces
fuente
En lugar de cambios de estilo, simplemente coloque estas dos líneas de código en su actividad.
fuente
Esta es mi solución:
O, si desea utilizar una función agradable para ello:
Uso:
fuente
Este código funciona para mí:
Además, si desea cambiar el color del texto de la barra de herramientas:
Trabajando desde API 19 hasta 25.
fuente
En lugar de usar el identificador dibujable anterior " abc_ic_ab_back_material ", use el nuevo abc_ic_ab_back_material en cada versión de la API. Lo he probado en 19, 21, 27 y funciona bien con el siguiente código y configuración.
compileSdkVersion = 27
}
fuente
Pruebe esto: configure el tema de la barra de herramientas en su diseño de la siguiente manera
Si quieres más información
El curioso caso del Overflow Icon Color de Martin Bonnin
fuente