Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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); } } 

  • Java.lang.IllegalStateException: Error al guardar el estado: activo ha borrado el índice en el fragmento
  • AndroidStudio - Dependencias de módulos en Gradle
  • Cómo implementar dos niveles slidingmenu en Android usando jfeinstein10 / SlidingMenu?
  • ¿Cuál es la alternativa de SlidingDrawer que está obsoleta? Para deslizar hacia arriba desde abajo
  • Carga lenta del diseño
  • ¿Cómo importar slidingmenu en Android Studio?
  • ¿Cómo mostrar el DrawerLayout cuando se desliza de izquierda a derecha, no importa dónde?
  • Borrar Android Fragment pila trasera sin hacer estallar?
  • One Solution collect form web for “Imitando el cajón de navegación de la aplicación youtube / gmail”

    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
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.