2012-04-06 14 views
6

Attualmente sto lavorando per rendere la mia applicazione compatibile con i dispositivi pre 3.0 con l'aiuto di actionbarsherlock. La mia applicazione ha un tema personalizzato che sovrasta Holo.light cambiando il blu con l'arancione.Actionbarsherlock - modifica il colore della barra delle azioni

Sto volendo cambiare la linea blu che appare sotto la barra di azione in arancione. Con l'ActionBar ufficiale sono riuscito questo sovrascrivendo

<item name="android:background">@drawable/ad_tab_unselected_holo</item> 

Purtroppo questo non sembra funzionare in ActionBarSherlock 4.

risposta

5

Hai bisogno di fare due cose:

L'ABS 4 ora imita lo standard barra delle operazioni con i suoi attributi, quindi è necessario aggiungere -

<item name="background">@drawable/ad_tab_unselected_holo</item> 

Avviso assenza di 0.123.

Quindi il codice complessivo sarebbe:

<item name="android:background">@drawable/ad_tab_unselected_holo</item> 
<item name="background">@drawable/ad_tab_unselected_holo</item> 

Per citare:

A causa di limitazioni nel sistema tematizzazione di Android qualsiasi tema personalizzazioni devono essere dichiarate in due attributi. I normali attributi con prefisso Android di applicano il tema alla barra di azione nativa e gli attributi non prefissati sono per l'implementazione personalizzata. Dal entrambe le API di tematizzazione sono esattamente le stesse, è sufficiente fare riferimento alle personalizzazioni due volte anziché doverle implementare due volte.

Vorrei anche estendere una varietà di Theme.Sherlock anziché holo, poiché credo che holo non sia disponibile su dispositivi precedenti che sono pre 3.0.

+1

Sì, è necessario estendere Theme.Sherlock o un altro tema fornito da ABS 4. –

+0

Inoltre, nei miei risultati, ho bisogno di avere Android: background E lo sfondo per lo stile di lavorare in modo coerente in tutte le versioni di Android. Forse sono fuori di testa o questo è cambiato, però. –

+0

Avviso Ho detto * add * - non sostituire quindi le varianti BOTH sarebbero presenti. –