2012-07-27 30 views
5

Uso el ActionBarSherlock. Tengo el displayOption "homeAsUp" en mi archivo style.xml. Ahora esto muestra una flecha negra al lado del título de la Actividad. Como mi tema es Blanco en un fondo negro azul, quiero cambiar el color de la flecha negra, o tal vez usar un recurso ícono completamente nuevo en su lugar. Cómo puedo hacer esto ?ActionBarSherlock ¿Cambia el color del botón Atrás?

Saludos cordiales.

+0

@ estirable/icono añadió a la sección principal tema. Funciona como un encanto. – AndroidDev

Respuesta

15

Además de la respuesta de Eric, perdí mucho tiempo haciendo esto bien.

Recuerde que estos elementos deben ir en el tema principal de la aplicación, heredando de Theme.Sherlock o similar.

<!-- CUSTOM APP THEME --> 
<style name="AppTheme" parent="Theme.Sherlock"> 
    <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item> 
    <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item> 
    <item name="android:homeAsUpIndicator">@drawable/action_bar_ic_ab_back_holo_dark</item> 
    <item name="homeAsUpIndicator">@drawable/action_bar_ic_ab_back_holo_dark</item> 
</style> 

No los pusieron en la costumbre tema de la barra de acciones que hereda de Widget.Sherlock.ActionBar.

<!-- ACTION BAR THEME --> 
<style name="AppTheme.ActionBarStyle" parent="Widget.Sherlock.ActionBar"> 
    <item name="android:icon">@drawable/action_bar_logo</item> 
    <item name="icon">@drawable/action_bar_logo</item> 
    <item name="android:displayOptions">showHome</item> 
    <item name="displayOptions">showHome</item> 
</style> 
2

¡Tenga cuidado cuando diseñe ActionBarSherlock!

Aquí es un extracto de la página web (ActionBarSherlock Theming):

Debido a las limitaciones en el sistema de tematización androide cualquier personalización temáticos deben ser declarados en dos atributos. Los atributos normales con prefijo de Android aplican el tema a la barra de acción nativa y los atributos no prefijados son para la implementación personalizada. Dado que ambas API de supeditación son exactamente iguales, solo necesita referenciar sus personalizaciones dos veces en lugar de tener que implementarlas dos veces.

Así, en su caso debe definir dos elemento:

<item name="android:homeAsUpIndicator">@drawable/icon</item> 

y

<item name="homeAsUpIndicator">@drawable/icon</item> 

entonces usted está seguro de que todos los usuarios tendrán el mismo L & F

Cuestiones relacionadas