Gaveta de navegación (Google+ vs. YouTube)

¿Alguien sabe cómo implementar un menú deslizante como algunas de las principales aplicaciones de hoy?

Otras preguntas de desbordamiento de pila no han tenido ninguna respuesta sobre cómo hacer esto, así que estoy tratando de reunir tanta información para ayudar a otros. Todas las aplicaciones que menciono a continuación hacen un gran trabajo de implementar el menú de diapositivas.

1. Google Plus (a partir del 7/7/12)

Captura de pantalla del menú de diapositivas de Google+

Sólo puede ir desde la primera pantalla a la segunda pantalla haciendo clic en el logotipo de G + en la esquina superior izquierda. Observe que toda la pantalla se mueve de su posición y se empuja al lado derecho de la pantalla (incluida la barra de acción). Para volver a la primera pantalla puede deslizar el lado derecho de nuevo en el foco o puede hacer clic en el icono de G + de nuevo.

2. YouTube (a partir del 7/7/12)

Captura de pantalla del menú de diapositivas de YouTube

Puede pasar de la primera pantalla a la segunda pantalla utilizando dos métodos. Haga clic en el logotipo de YouTube en la parte superior izquierda o puede usar un gesto de desplazamiento para moverlo a la derecha. Esto ya es diferente de la aplicación de G +. En segundo lugar, se puede ver que la barra de acción se mantiene puesto (a diferencia de G +). Por último, para obtener la pantalla original de nuevo funciona como G +.

Editar # 3:

El patrón de la gaveta de navegación se describe oficialmente en la documentación de Android.

Introduzca aquí la descripción de la imagen Echa un vistazo a los siguientes enlaces:

  • Los documentos de diseño se pueden encontrar aquí .
  • Los documentos para desarrolladores se pueden encontrar aquí .

Editar # 2:

Roman Nurik (un ingeniero de diseño de Android en Google) ha confirmado que el comportamiento recomendado es no mover la barra de acción al abrir el cajón (como la aplicación de YouTube). Consulta esta publicación de Google+ .


Editar # 1:

He respondido a esta pregunta hace un tiempo, pero estoy de vuelta para volver a hacer hincapié en que Prixing tiene el mejor fly-out menú por ahí … de lejos . Es absolutamente hermoso, perfectamente suave, y pone Facebook, Google+ y YouTube a la vergüenza. EverNote es bastante bueno también … pero aún no tan perfecto como Prixing. Echa un vistazo a esta serie de mensajes sobre la forma en que se implementó el menú desplegable (de nadie menos que el desarrollador jefe de Prixing mismo!).


Original Respuesta:

Adam Powell y Richard Fulcher hablan de esto a las 49:47 – 52:50 en la charla de Google I / O titulada "Navegación en Android".

Para resumir su respuesta, a partir de la fecha de esta publicación, el menú de navegación de diapositivas no forma parte oficialmente del estándar de diseño de aplicaciones de Android. Como probablemente has descubierto, actualmente no hay soporte nativo para esta característica, pero se habló de hacer esto como una adición a una próxima revisión del paquete de soporte.

Con respecto a las aplicaciones de YouTube y G +, parece extraño que se comporten de manera diferente. Mi mejor conjetura es que la razón la aplicación de YouTube fija la posición de la barra de acción es,

  1. Una de las opciones de navegación más importantes para los usuarios que utilizan la aplicación de YouTube es la búsqueda, que se realiza en el SearchView en la barra de acción. Tendría sentido hacer la barra de acción estática en este sentido, ya que permitiría al usuario tener siempre la opción de buscar nuevos videos.

  2. La aplicación de G + utiliza un ViewPager para mostrar su contenido, por lo que hacer el menú de extracción específico al contenido de diseño (es decir, todo bajo la barra de acción) no tendría mucho sentido. Swiping se supone que proporciona un medio de navegar entre las páginas, no un medio de navegación global. Esta podría ser la razón por la que decidieron hacerlo de manera diferente en la aplicación de G + que en la aplicación de YouTube.

    En otra nota, consulta la aplicación de Google Play para ver otra versión del "menú de extracción" (cuando estés en la página de la izquierda, desliza hacia la izquierda y aparecerá un menú de "media página").

Tienes razón en que este comportamiento no es muy consistente, pero no parece que haya un consenso del 100% en el equipo de Android sobre cómo se debe implementar este comportamiento todavía. No me sorprendería si en el futuro las aplicaciones se actualizan para que la navegación en ambas aplicaciones sea idéntica (parecían muy interesadas en hacer que la navegación fuera consistente en todas las aplicaciones de Google en la charla).

Hace poco tiempo bifurcaba un proyecto Github actual llamado "RibbonMenu" y lo editaba para satisfacer mis necesidades:

https://github.com/jaredsburrows/RibbonMenu

Cuál es el propósito

  • Facilidad de acceso: permite un fácil acceso a un menú que se desliza dentro y fuera
  • Facilidad de implementación: Actualizar la misma pantalla utilizando la cantidad mínima de código
  • Independencia: No requiere bibliotecas de soporte como ActionBarSherlock
  • Personalización: Fácil de cambiar colores y menús

Qué hay de nuevo

  • Cambió la animación de desplazamiento para que coincida con las aplicaciones de Facebook y Google+
  • Añadido ActionBar estándar (puede elegir usar ActionBarSherlock)
  • Menuitem usado para abrir el menú
  • Se agregó la capacidad de actualizar ListView en la actividad principal
  • Añadido 2 ListViews al menú, similar a Facebook y aplicaciones de Google+
  • Se agregó un AutoCompleteTextView y un botón, así para mostrar ejemplos de implementación
  • Método agregado para permitir a los usuarios pulsar el botón 'atrás' para ocultar el menú cuando está abierto
  • Permite a los usuarios interactuar con el fondo (ListView principal) y el menú al mismo tiempo a diferencia de las aplicaciones de Facebook y Google+!

ActionBar con menú fuera

ActionBar con menú fuera

ActionBar con menú y búsqueda seleccionados

ActionBar con menú y búsqueda seleccionados

Hay una gran implementación de NavigationDrawer que sigue las Guías de Diseño de Material de Google (y compatibles hasta API 10) – La biblioteca MaterialDrawer (enlace a GitHub) . En cuanto al tiempo de escritura, mayo de 2017, es activamente apoyado.

Está disponible en el repo de Maven Central . Configuración de la dependencia de Gradle:

 compile 'com.mikepenz:materialdrawer:5.9.1' 

Configuración de la dependencia de Maven:

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

Introduzca aquí la descripción de la imagenIntroduzca aquí la descripción de la imagen

Sé que esta es una vieja pregunta, pero la respuesta más actualizada es usar la biblioteca de diseño de soporte de Android que te facilitará la vida.

Personalmente me gusta el navigationDrawer de navigationDrawer en la aplicación oficial de Google Drive. Simplemente funciona y funciona muy bien. Estoy de acuerdo en que el cajón de navegación no debe mover la barra de acción porque es el punto clave para abrir y cerrar el cajón de navegación.

Si usted todavía está intentando conseguir ese comportamiento recientemente creé un proyecto llamado SherlockNavigationDrawer y como usted puede esperar es la puesta en práctica del cajón de la navegación con ActionBarSherlock y trabaja para los dispositivos pre de Honeycomb. Revisalo:

SherlockNavigationDrawer github

  • Icono del cajón de navegación (ic_drawer) no se muestra
  • Prueba de interfaz de usuario de Robotium para la aplicación con el cajón de navegación
  • Cómo deslizar el ActionBar junto con el NavigationDrawer
  • Android DrawerLayout.setDrawerLockMode () no funciona
  • Cómo agregar iconos adyacentes a los títulos de Android Navigation Drawer
  • El artículo de DrawerLayout hace clic - ¿Cuándo es el momento adecuado para reemplazar el fragmento?
  • Androide. ¿Cómo puedo deslizar NavigationDrawer de la biblioteca de pruebas Espresso?
  • OnCreateOptionsMenu () en el fragmento que no reemplaza los menús de ActionBar
  • Cómo establecer el comportamiento de comprobación compartida en todos los grupos en NavigationView?
  • El cajón de navegación se cierra al hacer clic
  • Cómo agregar un separador de sección para el cajón de navegación en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.