Cassetto di navigazione (Google+ vs. YouTube)


403

Qualcuno sa come implementare un menu scorrevole come alcune delle migliori app di oggi?

Altre domande di Stack Overflow non hanno avuto risposte su come farlo, quindi sto cercando di raccogliere quante più informazioni per aiutare gli altri. Tutte le applicazioni che menziono di seguito fanno un ottimo lavoro nell'implementazione del menu a scorrimento.

1. Google Plus (al 7/7/12)

Screenshot del menu scorrevole di Google+

Puoi passare dalla prima alla seconda schermata facendo clic sul logo G + nell'angolo in alto a sinistra. Si noti che l'intero schermo si sposta dalla sua posizione e si spinge verso il lato destro dello schermo (inclusa la barra delle azioni). Per tornare alla prima schermata è possibile far tornare a fuoco il lato destro oppure fare nuovamente clic sull'icona G +.

2. YouTube (al 7/7/12)

Screenshot del menu scorrevole di YouTube

Puoi passare dalla prima alla seconda schermata usando due metodi. Fai clic sul logo YouTube in alto a sinistra oppure puoi utilizzare un gesto di scorrimento per spostarlo a destra. Questo è già diverso dall'app G +. In secondo luogo, puoi vedere che la barra delle azioni rimane attiva (a differenza di G +). Infine, per ripristinare lo schermo originale funziona esattamente come G +.


1
A quanto pare, non molte persone hanno avuto esperienza nel lavorare su qualcosa del genere. Suggerisco di provare a implementare qualcosa da soli e di arrivare a SO con problemi specifici che potresti incontrare.
David Titarenco,

7
Sì, è per questo che ho pubblicato una domanda SO in un'altra che credo meriti un po 'più di attenzione. Mi chiedo solo se c'è qualcuno là fuori che ha realizzato con successo questo e mi piacerebbe condividere la loro saggezza.
EGHDK,

1
@EGHDK Dai un'occhiata a questa serie di articoli: android.cyrilmottier.com/?p=658
Alex Lockwood,

2
Ho risposto a questa domanda qualche tempo fa, ma sono tornato a sottolineare nuovamente che Prixing ha il miglior menu a comparsa disponibile ... di gran lunga. È assolutamente bellissimo, perfettamente liscio e fa vergognare Facebook, Google+ e YouTube. Anche EverNote è abbastanza buono ... ma non perfetto come Prixing. Dai un'occhiata a questa serie di post su come è stato implementato il menu a comparsa (nientemeno che dallo sviluppatore capo di Prixing stesso!).
Alex Lockwood,

2
Con la revisione 13 del pacchetto di supporto Android (maggio 2013), è disponibile DrawerLayout per la creazione di un cassetto di navigazione che può essere estratto dal bordo di una finestra. E ora il cassetto di navigazione è un modello di progettazione. developer.android.com/tools/extras/support-library.html
Wubao Li

Risposte:


152

Modifica n. 3:

Il modello del cassetto di navigazione è ufficialmente descritto nella documentazione di Android!

inserisci qui la descrizione dell'immagine Dai un'occhiata ai seguenti link:

  • I documenti di progettazione sono disponibili qui .
  • I documenti per gli sviluppatori sono disponibili qui .

Modifica n. 2:

Roman Nurik (un ingegnere di progettazione Android di Google) ha confermato che il comportamento consigliato è di non spostare la barra delle azioni quando si apre il cassetto (come l'app di YouTube). Vedi questo post di Google+ .


Modifica n. 1:

Ho risposto a questa domanda qualche tempo fa, ma sono tornato a sottolineare nuovamente che Prixing ha il miglior menu a comparsa disponibile ... di gran lunga . È assolutamente bellissimo, perfettamente liscio e fa vergognare Facebook, Google+ e YouTube. Anche EverNote è abbastanza buono ... ma non perfetto come Prixing. Dai un'occhiata a questa serie di post su come è stato implementato il menu a comparsa (nientemeno che dallo sviluppatore capo di Prixing stesso!).


Risposta originale:

Adam Powell e Richard Fulcher ne parlano a 49:47 - 52:50 nel di Google I / O intitolato "Navigazione in Android".

Per riassumere la loro risposta, a partire dalla data di pubblicazione, il menu di navigazione slide out non fa ufficialmente parte dello standard di progettazione dell'applicazione Android. Come probabilmente hai scoperto, al momento non esiste alcun supporto nativo per questa funzione, ma si è parlato di renderlo un'aggiunta a una prossima revisione del pacchetto di supporto.

Per quanto riguarda le app YouTube e G +, sembra strano che si comportino diversamente. La mia ipotesi migliore è che il motivo per cui l'app YouTube corregge la posizione della barra delle azioni è,

  1. Una delle opzioni di navigazione più importanti per gli utenti che utilizzano l'app YouTube è la ricerca, che viene eseguita nella SearchViewbarra delle azioni. Avrebbe senso rendere statica la barra di azione in questo senso, poiché consentirebbe all'utente di avere sempre la possibilità di cercare nuovi video.

  2. L'app G + utilizza a ViewPager per visualizzare il suo contenuto, quindi rendere il menu estraibile specifico per il contenuto del layout (ovvero tutto sotto la barra delle azioni) non avrebbe molto senso. Lo scorrimento dovrebbe fornire un mezzo di navigazione tra le pagine, non un mezzo di navigazione globale. Questo potrebbe essere il motivo per cui hanno deciso di farlo diversamente nell'app G + rispetto all'app YouTube.

    In un'altra nota, controlla l'app Google Play per un'altra versione del "menu estraibile" (quando sei nella parte più a sinistra della pagina, scorri verso sinistra e apparirà un menu "mezza pagina").

Hai ragione nel dire che questo non è un comportamento molto coerente, ma non sembra che ci sia un consenso al 100% all'interno del team di Android su come questo comportamento debba ancora essere implementato. Non sarei sorpreso se in futuro le app fossero aggiornate in modo tale che la navigazione in entrambe le app fosse identica (sembravano molto desiderosi di rendere la navigazione coerente in tutte le app create da Google durante la conversazione).


73
Prixing, Evernote e Spotify hanno tutti team piuttosto grandi che scrivono le loro app. Sono il CEO di Prixing e vorrei precisare che abbiamo solo un vero sviluppatore Android (ma molto talentuoso, Cyril Mottier)
EricLarch,

Con la revisione 13 del pacchetto di supporto Android (maggio 2013), c'è DrawerLayout per la creazione di un cassetto di navigazione che può essere estratto dal bordo di una finestra. E ora il cassetto di navigazione è un modello di progettazione. developer.android.com/tools/extras/support-library.html
Wubao Li

sebbene NavigationDrawer sia presente in V4 ha bisogno di ActionBar che non è ancora fornito all'interno di V4, quindi non è in grado di usarlo in app con livello API inferiore a 11.
Nayanesh Gupte

1
@NayAneshGupte puoi sempre usare ActionBarSherlock per usare ActionBar al di sotto del livello API 11.
tasomaniac

Sembra che non ci sia modo di introdurre un ritardo artificiale se si desidera che l'animazione ravvicinata sia fluida?
theblang

15

Proprio di recente ho biforcato un progetto Github in corso chiamato "RibbonMenu" e l'ho modificato in base alle mie esigenze:

https://github.com/jaredsburrows/RibbonMenu

Qual è lo scopo

  • Facilità di accesso: consente di accedere facilmente a un menu che scorre dentro e fuori
  • Facilità di implementazione: aggiorna la stessa schermata utilizzando una quantità minima di codice
  • Indipendenza: non richiede librerie di supporto come ActionBarSherlock
  • Personalizzazione: facile cambiare colori e menu

Cosa c'è di nuovo

  • Modificata l'animazione scorrevole per adattarla alle app di Facebook e Google+
  • Aggiunto ActionBar standard (puoi scegliere di usare ActionBarSherlock)
  • Usato menuitem per aprire il menu
  • Aggiunta la possibilità di aggiornare ListView sull'attività principale
  • Aggiunte 2 visualizzazioni di lista al menu, simili alle app di Facebook e Google+
  • Aggiunti un AutoCompleteTextView e un pulsante per mostrare esempi di implementazione
  • Aggiunto metodo per consentire agli utenti di premere il 'pulsante indietro' per nascondere il menu quando è aperto
  • Permette agli utenti di interagire con lo sfondo (ListView principale) e il menu allo stesso tempo, diversamente dalle app di Facebook e Google+!

ActionBar con Menu fuori

ActionBar con Menu fuori

ActionBar con Menu out e ricerca selezionata

ActionBar con Menu out e ricerca selezionata


5

C'è una grande implementazione NavigationDrawerche segue le linee guida per la progettazione dei materiali di Google (e compatibile fino all'API 10) - La libreria MaterialDrawer (link a GitHub) . Al momento in cui scrivo, maggio 2017, è attivamente supportato.

È disponibile nel repository Maven Central . Impostazione della dipendenza dal grado:

compile 'com.mikepenz:materialdrawer:5.9.1'

Impostazione della dipendenza Maven:

<dependency>
    <groupId>com.mikepenz</groupId>
    <artifactId>materialdrawer</artifactId>
    <version>5.9.1</version>
</dependency>

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


@lmiguelvargasf come immagini adattare un progetto GitHub alla risposta ?! Per favore, condividi le tue idee.
naXa,


2

Personalmente mi piace il navigationDrawer app ufficiale di Google Drive. Funziona e funziona alla grande. Sono d'accordo che il cassetto di navigazione non dovrebbe spostare la barra delle azioni perché è il punto chiave per aprire e chiudere il cassetto di navigazione.

Se stai ancora cercando di ottenere quel comportamento, di recente ho creato un progetto chiamato SherlockNavigationDrawere come puoi immaginare è l'implementazione del Navigatore conActionBarSherlock e funziona per i dispositivi pre Honeycomb. Controllalo:

SherlockNavigationDrawer github

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.