2012-06-26 9 views
13

yo uso Sherlock actionbarcómo cambiar homebutton Hilight color cuando la prensa

1, quiero botón Cambiar Inicio BG cuando pulso de azul a rojo

2, quiero icono cambiar HomeAsUp (flecha blanca) cualquier idea ?

enter image description here botón Inicio

enter image description here presionado

aquí se crea el código actionbar

extends SherlockFragmentActivity 

public ActionBar actionBar; 

this.actionBar = this.getSupportActionBar(); 
this.actionBar.setDisplayShowHomeEnabled(true); 
this.actionBar.setHomeButtonEnabled(true); 
this.actionBar.setDisplayHomeAsUpEnabled(true); 

Respuesta

19

Puede cambiar esto especificando su propio atributo actionBarItemBackground en su tema.

Por ejemplo,

<style name="Theme.MyTheme" parent="Theme.Sherlock"> 
    <item name="android:actionBarItemBackground">@drawable/my_cool_drawable</item> 
    <item name="actionBarItemBackground">@drawable/my_cool_drawable</item> 
</style> 

y luego especifique Theme.MyTheme en el manifiesto para su actividad.

+0

¿Podemos usar el selector para el ícono de inicio y el indicador de arriba ( @ drawable/action_bar_home_as_up_indicator, pero solo se muestra un estado, independientemente de estado presionado/no presionado. –

+0

No, ni el ícono de inicio ni el ícono "arriba" reflejan el estado. –

2

por lo general cuando se desea crear este comportamiento en Android, es necesario crear una nueva selector archivo (xml en la carpeta /drawable).

en ese archivo lo que quiere hacer es elegir los diferentes estados para el botón y elegir las diferentes imágenes para ellos.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/pressed_image" android:state_pressed="true"></item> 
    <item android:drawable="@drawable/regular_image"></item> 

</selector> 

edición:

que tiene que hacer esto en la biblioteca ActionBarSherlock por supuesto.

Cuestiones relacionadas