Imitando el cajón de navegación de la aplicación youtube / gmail

Fondo

En los últimos meses Google lanzó la aplicación de Youtube con el cajón de navegación (menú deslizante AKA).

Tiene muchas características interesantes que deseo tener en una aplicación en la que estoy trabajando.

Las características son:

  1. Toque en cualquier lugar para comenzar a deslizar.

  2. Mover el icono en el botón "arriba" de la barra de acción al cambiar de modo.

  3. (El área de la derecha, no el menú en sí) se mantiene en lugar de desplazarse, al deslizar el menú.

  4. La barra de acción permanece en lugar de desplazarse.

  5. (El área de la derecha, no el menú en sí) cambia de color al desplazarse, y no el menú en sí.

Aquí hay capturas de pantalla para mostrar lo que estoy hablando:

Antes de deslizarse:

antes de

Después del deslizamiento:

después

Actualmente, sé de 2 bibliotecas principales que son responsables de usar un cajón de la navegación:

  • La biblioteca oficial de cajones de navegación de google .

  • La biblioteca de menú deslizante, por jfeinstein10 .

el problema

Tanto la biblioteca oficial como la biblioteca slidingMenu no tienen todas esas características combinadas como en la aplicación de youtube.

Por ejemplo, la biblioteca oficial no tiene la habilidad # 1 (es por eso que he publicado este hilo ), así que usé la biblioteca slidingMenu en su lugar.

Sin embargo, la biblioteca slidingMenu no tiene (o es?) Habilidad # 2 y # 3.

Ambas bibliotecas no tienen suficiente documentación / ejemplos de lo que se puede hacer, por lo que es muy difícil usarlos o agregar nuevas funciones a ellos.

Lo que he intentado

Actualmente, uso la biblioteca slidingMenu, así que este es mi código para preparar el slidingMenu:

activity.setBehindContentView(slidingMenuRootView); mSlidingMenu = activity.getSlidingMenu(); mSlidingMenu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width); mSlidingMenu.setShadowDrawable(R.drawable.slidingmenu_shadow); mSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset); mSlidingMenu.setFadeEnabled(true); mSlidingMenu.setFadeDegree(1.0f); mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); activity.setSlidingActionBarEnabled(false); 

pregunta

¿Cómo puedo obtener el slidingMenu (o el cajón de navegación) para actuar como en la aplicación de youtube, es decir, con todas las características que he mencionado combinado?


solución posible

EDIT: usando la biblioteca menuDrawer (enlace github aquí ), he logrado con éxito todas las características que he mencionado. Aquí hay un ejemplo de código:

 public class ActionBarSherlockSample extends SherlockActivity { private MenuDrawer mDrawer; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar(); mDrawer = MenuDrawer.attach(this, MenuDrawer.Type.OVERLAY); final TextView menuView = new TextView(this); menuView.setTextColor(0xFFFFFFFF); menuView.setText("As the drawer opens, the drawer indicator icon becomes smaller."); menuView.setGravity(Gravity.CENTER); mDrawer.setMenuView(menuView); mDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN); mDrawer.setOnDrawerStateChangeListener(new OnDrawerStateChangeListener() { @Override public void onDrawerStateChange(final int oldState, final int newState) { Log.d("AppLog", "oldState:" + oldState + " newState:" + newState); } @Override public void onDrawerSlide(final float openRatio, final int offsetPixels) { } }); final TextView contentView = new TextView(this); contentView .setText("This sample uses ActionBarSherlock to display an ActionBar on older platforms. The drawer indicator, " + "as per the design guidelines, is visible in the top left corner."); contentView.setGravity(Gravity.CENTER); mDrawer.setContentView(contentView); mDrawer.setSlideDrawable(R.drawable.ic_drawer); mDrawer.setDrawerIndicatorEnabled(true); } @Override public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { case android.R.id.home: mDrawer.toggleMenu(); break; } return super.onOptionsItemSelected(item); } } 

Utilice este menú

Implementación de menú deslizante, que permite a los usuarios navegar entre las vistas de la aplicación.

caracteristicas:

  • El menú se puede colocar a lo largo de los cuatro bordes.
  • Soporta adjuntar un menú siempre visible, no arrastrable, que es útil en tabletas.
  • El menú puede envolver tanto el contenido como toda la ventana.
  • Permite abrir el cajón arrastrando el borde, toda la pantalla o no.
  • Se puede utilizar en diseños XML.
  • Indicador que muestra qué pantalla está actualmente visible
  • SlidingMenu y ViewPager con API13 (Honeycomb)
  • Desplazando el menú usando la biblioteca jfeinstein10
  • SlidingMenu (jfeinstein). Desactivar sólo el menú secundario
  • Avanzar menú deslizante en android
  • Android: menú deslizante con submenú
  • Adición de una dependencia al proyecto de Android
  • Cajón de navegación coexistente y diseño de panel deslizante
  • SlidingMenu Ancho no correcto
  • Panel corredero deslizante - panel deslizante de línea fina bajo google mapfragment
  • deslizamiento de menú en android stucks mientras está abierto y cerca
  • Cambiar a una nueva actividad, en lugar de cambiar fragmentos, cuando se hace clic en el elemento de lista de deslizamiento de jfeinstein10
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.