He podido personalizar el fondo de la barra de acción, la imagen del logotipo y el color del texto usando sugerencias de estos:
Android: ¿Cómo cambiar el icono "Inicio" de ActionBar para que sea algo más que el icono de la aplicación?
Color de texto de
ActionBar Imagen de fondo de ActionBar
La última pieza que quiero personalizar es la imagen del botón Atrás. Es gris por defecto y me gustaría que fuera blanco. Cambiar el color, especificar un dibujo o simplemente hacerlo transparente (y agregar el cheurón a mi imagen de logotipo personalizada) funcionaría. ¿Cómo hago para eso?
android
android-actionbar
Sunil Gowda
fuente
fuente
setDisplayHomeAsUpEnabled()
onActionBar
. Específicamente NO se supone que debe simplemente "retroceder". Significa que al tocar el ícono de la aplicación "subirá" una jerarquía en lugar de volver a la actividad anterior (al igual que el botón ATRÁS en la barra del sistema).Respuestas:
El indicador de disponibilidad "hacia arriba" lo proporciona un elemento extraíble especificado en el
homeAsUpIndicator
atributo del tema. Para anularlo con su propia versión personalizada, sería algo como esto:Si es compatible con pre-3.0 con su aplicación, asegúrese de incluir esta versión del tema personalizado
values-v11
o similar.fuente
<item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
no funcionó para mí, pero lo<item name="homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
hizo. Supongo que es la versión de AndroidNavigation Drawer
? Supongo queActionBarDrawerToggle
reemplaza el indicador con uno de los suyos, por lo tanto, de colocarlo en el estilo no tiene ningún efecto ...Por lo tanto, puede cambiarlo programáticamente fácilmente utilizando la función homeAsUpIndicator () que se agregó en la API de Android nivel 18 y superior.
ActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
Si usa la biblioteca de soporte
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
fuente
drawerToggle.setDrawerIndicatorEnabled(false);
antes de cambiar el indicadorHe revisado la pregunta. Aquí están los pasos que sigo. El código fuente está alojado en GitHub: https://github.com/jiahaoliuliu/sherlockActionBarLab
Reemplazar el estilo real para los dispositivos anteriores a v11.
Copie y pegue el código de seguimiento en el archivo styles.xml de la carpeta de valores predeterminados.
Tenga en cuenta que el padre podría cambiarse a cualquier tema de Sherlock.
Reemplazar el estilo real para los dispositivos v11 +.
En la misma carpeta donde están los valores de la carpeta, cree una nueva carpeta llamada values-v11. Android buscará automáticamente el contenido de esta carpeta para dispositivos con API o superior.
Cree un nuevo archivo llamado styles.xml y pegue el siguiente código en el archivo:
Tenga en cuenta que el nombre del estilo debe ser el mismo que el archivo en la carpeta de valores predeterminados y en lugar del elemento homeAsUpIndicator, se llama android: homeAsUpIndicator.
El problema del artículo se debe a que para los dispositivos con API 11 o superior, la barra de acción Sherlock usa la barra de acción predeterminada que viene con Android, cuyo nombre clave es android: homeAsUpIndicator. Pero para los dispositivos con API 10 o inferior, Sherlock Action Bar usa su propia ActionBar, que el indicador de inicio como arriba se llama simple "homeAsUpIndicator".
Usa el nuevo tema en el manifiesto
Reemplace el tema para la aplicación / actividad en el archivo AndroidManifest:
fuente
Cambiar el icono de navegación hacia atrás es diferente para ActionBar y Toolbar.
Para el atributo de anulación de ActionBar
homeAsUpIndicator
:Para el
navigationIcon
atributo de anulación de la barra de herramientas :fuente
Hice el siguiente código
onCreate()
y trabajé conmigofuente
Si está utilizando la barra Google, no necesita esas soluciones. Solo tienes que cambiar el tema de la barra de herramientas
Si está utilizando un dark.actionBar, el botón de retroceso será blanco; de lo contrario, si está utilizando un tema de barra de acción claro, será negro.
fuente
bandeja esto:
en el interior
onCreate()
;fuente
Usé la imagen back.png en el archivo menifest.xml del proyecto. Está bien trabajar en el proyecto.
fuente
Tuve el mismo problema con la dirección del ícono del botón de inicio de la barra de acción, debido a la falta de administración del ícono en el ícono del directorio de recursos de Gradle
como en el directorio de recursos de Gradle en árabe, coloca el ícono en x-hdpi y en el recurso de Gradle en inglés el mismo nombre de icono que coloca en una carpeta de densidad diferente como xx-hdpi, de modo que en APK habrá dos mismos nombres de icono en diferentes directorios, por lo que su dispositivo elegirá el icono dependiente de la densidad puede ser RTL o LTR
fuente