2012-01-29 19 views
19

Se aggiungi schede al tuo ActionBar, saranno in uno stack aggiuntivo ActionBar sui telefoni in modalità verticale. C'è un modo semplice per scoprire se è successo?Scopri se ActionBar è impilato

Ho allegato due screenshot dell'app YouTube. Il primo mostra il normale ActionBar con le schede in esso, il secondo mostra le schede in uno stack ActionBar.

Youtube App (landscape) Youtube App (portrait)

risposta

1

Questo comportamento è chiamato Split Barra azioni. Succede quando AndroidManifest viene impostato con uiOptions="splitActionBarWhenNarrow" nell'elemento <activity> o <application>.

Android regola l'aspetto della barra delle azioni in vari modi, in base alle dimensioni dello schermo corrente. L'uso della barra delle azioni divise è solo un'opzione che puoi abilitare per consentire alla barra delle azioni di ottimizzare ulteriormente l'esperienza utente per le diverse dimensioni dello schermo. In tal modo, puoi anche consentire alla barra delle azioni di comprimere le schede di navigazione nella barra delle azioni principale. Cioè, se si utilizzano le schede di navigazione nella barra delle azioni, una volta che gli elementi di azione sono stati separati su una schermata stretta, le schede di navigazione potrebbero essere in grado di adattarsi alla barra di azione principale anziché essere separate nella "barra di azione impilata".

Mock-ups of split action bar with navigation tabs on the left; with the app icon and title disabled on the right.

È possibile ottenere ulteriori informazioni here.

+1

Non è esattamente quello che ho chiesto. Citando il link in fondo al tuo post: "Quando abiliti la barra delle azioni divise, * appare una barra separata nella parte inferiore dello schermo * per visualizzare tutti gli elementi di azione quando l'attività è in esecuzione su uno schermo ristretto (come un ritratto portatile di tipo avanzato). " – Julian

+1

ActionBar impilati è una cosa diversa da ActionBar diviso. I dettagli si trovano sullo stesso link a cui si fa riferimento nella risposta. – MSquare

2

È possibile scoprire se vi sono una o due righe nella barra delle azioni in base all'altezza di is. C'è il metodo getHeight(), ma non funzionerà in onCreate o onStart, restituirà il valore reale solo se l'attività è già stata avviata.

Nell'orientamento orizzontale l'altezza della barra delle azioni è 40dip (80/60/40/30 px su schermi diversi), in orientamento verticale con schede è 96 dpi (192/144/96/72 px).

Non è consigliabile affidarsi a questo, ma non riesco a trovare un altro modo per scoprire se le schede sono all'interno della barra delle azioni.

-2

beh ho creato un actionbar simile a Instagram con un ActionBar in basso senza la necessità di utilizzare le schede. dai un'occhiata a questa immagine Ho risposto a questa domanda correlata su un'altra domanda 10 minuti fa. CustomView ActionBar And Fake Bottom ActionBar per fare ciò è necessario creare tre layout separati. uno per il fondo per usarlo come Include e uno per ActionBar Per usarlo come ActionBar View.

se si controllano le mie ultime risposte, troverete come ho fatto questo. spero che ti benefici in ogni caso. evviva

Problemi correlati