traduccion studio personalizar icono example boton bar agregar android android-actionbar

icono - personalizar action bar android studio



Cómo personalizar el botón Atrás en ActionBar (8)

El indicador de disponibilidad "arriba" es provisto por un drawable especificado en el atributo homeAsUpIndicator del tema. Para anularlo con su propia versión personalizada, sería algo como esto:

<style name="Theme.MyFancyTheme" parent="android:Theme.Holo"> <item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item> </style>

Si está soportando pre-3.0 con su aplicación, asegúrese de colocar esta versión del tema personalizado en values-v11 o similar.

Pude personalizar el fondo de la barra de acciones, la imagen del logotipo y el color del texto con las sugerencias de estos:
Android: ¿Cómo cambiar el icono "Inicio" de ActionBar para que sea algo más que el ícono de la aplicación?
Color del texto 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 sea blanco. Cambiar el color, especificar un dibujante o simplemente hacerlo transparente (y agregar el cheurón a mi imagen de logotipo personalizada) funcionaría. ¿Cómo hago eso?


He verificado la pregunta. Aquí están los pasos que sigo. El código fuente está alojado en GitHub: https://github.com/jiahaoliuliu/sherlockActionBarLab

Reemplace el estilo real para los dispositivos pre-v11.

Copie y pegue el código siguiente en el archivo styles.xml de la carpeta de valores predeterminados.

<resources> <style name="MyCustomTheme" parent="Theme.Sherlock.Light"> <item name="homeAsUpIndicator">@drawable/ic_home_up</item> </style> </resources>

Tenga en cuenta que el padre podría cambiarse por cualquier tema de Sherlock.

Reemplace el estilo real para los dispositivos v11 +.

En la misma carpeta donde está el valor 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:

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyCustomTheme" parent="Theme.Sherlock.Light"> <item name="android:homeAsUpIndicator">@drawable/ic_home_up</item> </style> </resources>

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 elemento se debe a que para los dispositivos con API 11 o superior, la barra de acciones de Sherlock usa la barra de acciones predeterminada que viene con Android, cuyo nombre de clave es android: homeAsUpIndicator. Pero para los dispositivos con API 10 o inferior, la barra de acciones de Sherlock usa su propia barra de acciones, que el indicador de inicio como arriba se llama simple "homeAsUpIndicator".

Use el nuevo tema en el manifiesto

Reemplace el tema de la aplicación / actividad en el archivo AndroidManifest:

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/MyCustomTheme" >


Hice el siguiente código en onCreate() y trabajé conmigo

getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);


La modificación del ícono de navegación difiere para ActionBar y la barra de herramientas.

Para ActionBar, anule el atributo homeAsUpIndicator :

<style name="CustomThemeActionBar" parent="android:Theme.Holo"> <item name="homeAsUpIndicator">@drawable/ic_nav_back</item> </style>

Para la barra de herramientas, anule el atributo navigationIcon :

<style name="CustomThemeToolbar" parent="Theme.AppCompat.Light.NoActionBar"> <item name="navigationIcon">@drawable/ic_nav_back</item> </style>


Por lo tanto, puede cambiarlo de forma programática fácilmente mediante el uso de 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);


Si está utilizando la Barra de herramientas, no necesita esas soluciones. Solo tienes que cambiar el tema de la barra de herramientas

app:theme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

Si está usando un dark.actionBar, su botón Atrás va a ser blanco, si está usando el tema de la barra de acción, va a ser negro.


Tuve el mismo problema con la dirección del icono del botón Inicio de la barra de acciones, debido a la administración incorrecta de Icono en el icono del directorio de recursos de Gradle

Al igual que en el directorio de recursos de Gradle, se coloca el ícono en x-hdpi y en el inglés Gradle, el mismo nombre de ícono se coloca en una carpeta de densidad diferente como xx-hdpi, de modo que en APK habrá dos mismos nombres en diferentes directorios, por lo que su dispositivo seleccionará el ícono dependiente de la densidad puede ser RTL o LTR


Utilicé la imagen back.png en el archivo de proyecto menifest.xml. está bien trabajando en proyecto.

<activity android:name=".YourActivity" android:icon="@drawable/back" android:label="@string/app_name" > </activity>