2012-01-04 5 views
6

Android ActionBar ha una modalità NAVIGATION_MODE_TABS. Utilizzando ActionBarSherlock 3.5.1 ho impostato questo ActionBar e 5 schede aggiunte. Sui dispositivi 2.x vedo tutte le schede senza scorrimento orizzontale. Su 4.0.x vedo solo 3 schede con layout scorrevole. NAVIGATION_MODE_TABS di ActionBar può contenere un massimo di 3 schede in ICS? Se sì, potrei hackerarlo in qualche modo? Lo so, potrei creare personalizzato TabHost, ma sarebbe abbastanza dispendioso per implementarlo con ViewPager tra le visualizzazioni delle schede.Numero di schede in ActionBar

2.x devices

4.0.X devices

+0

Stesso problema qui. Hai trovato una soluzione? – user420574

+0

Abbiamo creato TabBar personalizzato. Controlla qui: https://gist.github.com/3273440 – sealskej

+2

Ti consiglio vivamente di eseguire l'aggiornamento a ActionBarSherlock 4.2.0. Io uso quella versione della libreria per tutti i tipi di cose senza problemi in questi livelli API. – jsimon

risposta

2

Non è necessario incidere nulla. Le schede ActionBar hanno parametri di layout specifici che è possibile modificare abbastanza facilmente attraverso uno stile personalizzato. Google utilizza il proprio stile per impostarli in primo luogo. Dovresti dare un'occhiata a questo sulla creazione di stili personalizzati. http://android-developers.blogspot.com/2011/04/customizing-action-bar.html Dal momento che vuoi che sembrino il modo in cui Jake Wharton li ha impostati in ActionBarSherlock, allora potresti rendere le cose ancora più semplici per te stesso e strappare i suoi stili.

+1

Certo che uso gli stili. Il problema è che lo schermo ha un aspetto diverso su diverse versioni di Android. Sto cercando la ragione, perché questo accade. – sealskej

+0

Non vedo alcuna opzione nello stile per quanto riguarda il controllo dello stato scrollabile delle schede. –

0

Ho avuto lo stesso problema con la barra delle azioni sherlock, e questo post mi ha aiutato.
How to manage the width of ActionBar navigation tabs?

parte importante è

<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar"> 
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> 
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> 
</style>