2012-02-13 7 views
13

Come suggerisce il titolo, ho un'applicazione per tablet Android 4.0, che utilizza la barra delle azioni e la modalità scheda.Crea schede su ActionBar Scorri quando raggiungi il limite, piuttosto che creare un elenco a discesa

Se aggiungo più di 4 o 5 schede alla barra delle azioni, viene invece creato un elenco a discesa. Ho letto la documentazione, che afferma: "Nota: in alcuni casi, il sistema Android mostrerà le schede della barra delle azioni come un elenco a discesa al fine di garantire la migliore corrispondenza nella barra delle azioni."

Mi chiedevo solo se è possibile sovrascrivere il comportamento predefinito e fare in modo che la barra azioni scorra gli elementi? Il documento di progettazione http://developer.android.com/design/patterns/actionbar.html parla di schede scorrevoli, ma non riesco a trovare alcuna informazione su di esse oltre che nel documento di progettazione.

+0

Ho visto altri scavi: http://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby = & sort = & id = 24439 e sembra che non sia possibile. Ora sto cercando approcci alternativi – JamesSugrue

risposta

10

Ho faticato per farlo funzionare. Tuttavia, dopo aver giocato con ActionBarSherlock, la soluzione è estremamente facile.Se si scarica la sorgente di esempio Styled e guardare nella classe MainActivity, si può vedere che creare e aggiungere le schede, e sotto quella:

actionBar.setDisplayShowTitleEnabled(false); 
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

avevo chiamato questi prima di aggiungere le schede, e le mie schede era stato trasformato in un elenco a discesa. Risulta, tutto quello che devi fare è chiamarli dopo aver aggiunto le schede invece di mantenere le schede di scorrimento.

+0

Non è la risposta che cercavo, ma sembra fin da ora, è l'unico modo per fare ciò che volevo. – JamesSugrue

+1

Non ha funzionato per me. Vedo ancora l'elenco a discesa invece delle schede. –

0

Hai controllato l'app di esempio Galleria Honeycomb nell'SDK? Potrebbe avere quello che stai cercando. Installalo su un dispositivo ICS non tablet per visualizzare le schede scorrevoli. Un tablet ha troppo spazio sullo schermo per poterlo scorrere.

http://developer.android.com/resources/samples/HoneycombGallery/index.html

+1

Voglio che scorra anche su un tablet - Ho aggiunto altre 5 schede al progetto sopra e si è condensato anche in un menu. PITA – JamesSugrue

2

leggere il "Aggiungere un'azione View" sezione dalla http://developer.android.com/guide/topics/ui/actionbar.html

Un punto di vista l'azione è un widget che appare nella barra delle azioni come un sostituto per il pulsante di un elemento di azione.

È possibile utilizzare HorizontalScrollView come azione della vista specificando

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@+id/mytabwidget" 
     android:title="" 
     android:icon="@drawable/ic_launcher" 
     android:showAsAction="always" 
     android:actionViewClass="android.widget.HorizontalScrollView" /> 
</menu> 

riferimento arrivare a questo HorizontalScrollView in public boolean onCreateOptionsMenu(Menu menu)

Definire un RadioGroup con alcuni RadioButton dove ogni RadioButton quando selezionato, aggiornerà la sua linguette associato contenuto. Ora aggiungere questo RadioGroup-HorizontalScrollView che si otterrà in public boolean onCreateOptionsMenu(Menu menu)

È possibile utilizzare selectTab(ActionBar.Tab tab) o qualche altro metodo equivalente per aggiornare schede contenuti.

È possibile modificare l'aspetto del RadioButton impostando android:button per un'immagine trasparente e quindi impostando alcune StateListDrawable con stati controllati, selezionati e normale ..

Vedere sotto schermo mi sono utilizzando questo metodo.

enter image description here

Nell'immagine sopra, ogni RadioButton quando selezionato, seleziona scheda diverse.

-1

L'interfaccia utente funziona esattamente per un motivo. È estremamente confuso avere un set di schede scorrevole. C'è una buona probabilità che non sia chiaro a tutti che ci sono più schede disponibili sulla destra, e l'utente non saprà mai che è possibile scorrere le schede per ottenere più funzionalità.

Si consiglia di attenersi a come la piattaforma è progettata per funzionare. Generalmente fa le cose per una ragione.

+5

Si potrebbe voler indicare ai responsabili delle pagine di Android Design, quindi, che cosa [descrivono come "schede scorrevoli" relative alla "barra delle azioni"] (http://developer.android.com/design /patterns/actionbar.html) non sono né l'uno né l'altro. Quello che descrivono sembra essere 'ViewPager' e qualche title strip che non esiste nell'SDK (dal momento che' PagerTitleStrip' è di sola visualizzazione e quindi non può davvero essere considerato una "scheda"). È frustrante per gli sviluppatori ricevere linee guida di progettazione che Google stesso non è d'accordo (per la tua risposta qui) e/o non sono supportati dall'SDK. – CommonsWare

+2

Preso dal documento di progettazione Android, "Usa le schede scorrevoli se hai un gran numero di visualizzazioni ..." Dal mio punto di vista, nell'app che stiamo costruendo, non è affatto confuso avere quel numero di schede . Sicuramente in una piattaforma "aperta", dovrebbe spettare allo sviluppatore scegliere ciò che è appropriato per la loro app, non il sistema operativo. La nostra app è una verticale che non verrà mai utilizzata da utenti inesperti. – JamesSugrue

+2

Inoltre, in che modo le schede a scorrimento sono più confuse di una lista a scorrimento che dobbiamo implementare come soluzione? Non è ovvio che anche loro siano sotto l'ultimo elemento nell'elenco. – JamesSugrue

Problemi correlati