2012-06-26 16 views
13

io uso Sherlock ActionBarCome cambiare homeButton Hilight colori quando si preme

1, voglio cambia Home Button BG quando premo dal blu al rosso

2, voglio icona cambiare HomeAsUp (freccia bianca) qualsiasi idea?

enter image description here pulsante Home

enter image description here premuto

qui è stato creato questo codice ActionBar

extends SherlockFragmentActivity 

public ActionBar actionBar; 

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

risposta

19

È possibile modificare ciò specificando il proprio attributo actionBarItemBackground nel tema.

Per esempio,

<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> 

e quindi specificare Theme.MyTheme nel manifesto per la vostra attività.

+0

Possiamo usare il selettore per l'icona di casa e l'indicatore di salita ( @ drawable/action_bar_home_as_up_indicator, ma viene visualizzato solo uno stato indipendentemente da stato premuto/non premuto. –

+0

No, né l'icona iniziale né l'icona "su" riflettono lo stato. –

2

di solito quando si desidera creare questo comportamento in Android, è necessario creare un nuovo selector file (xml nella cartella /drawable).

in questo file ciò che si vuole fare è scegliere i diversi stati per il pulsante e scegliere le diverse immagini per loro.

<?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> 

edit:

è necessario fare questo nella biblioteca ActionBarSherlock naturalmente.

Problemi correlati