2012-06-26 8 views
13

i Sherlock ActionBar verwendenwie Homebutton Hilight Farbe, wenn Presse

1, ändern i Änderung Home Button BG will, wenn ich von Blau zu Rot

drücken

2, i will Iconwechsel HomeAsUp (weißer Pfeil) jeder Idee?

enter image description here Home-Taste

enter image description here

gedrückt hier

dieses ActionBar Code erstellt wird

extends SherlockFragmentActivity 

public ActionBar actionBar; 

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

Antwort

19

Sie können dies ändern, indem Sie Ihr eigenes actionBarItemBackground Attribut in Ihrem Thema angeben.

Zum Beispiel

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

und dann für Ihre Aktivität Theme.MyTheme im Manifest angeben.

+0

Können wir den Selektor für Home-Icon und Up-Indikator ( @ drawable/action_bar_home_as_up_indicator, aber nur ein Status angezeigt wird, unabhängig davon gedrückter/nicht gedrückter Zustand. –

+0

Nein, weder das Home-Symbol noch das "up" -Symbol gibt den Status wieder. –

2

in der Regel, wenn Sie dieses Verhalten in Android erstellen möchten, müssen Sie eine neue selector erstellen Datei (xml in /drawable Ordner).

In dieser Datei wählen Sie die verschiedenen Zustände für die Schaltfläche und wählen Sie die verschiedenen Bilder für diese aus.

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

Sie müssen dies in der ActionBarSherlock Bibliothek natürlich tun.

Verwandte Themen