Cómo mostrar / ocultar el cajón de navegación mediante programación
¿Cómo puedo utilizar el botón para mostrar / ocultar el cajón de navegación, he utilizado este enlace SO para crear y gestionar el cajón de navegación.
Ahora estoy usando (Deslizar hacia la derecha de la izquierda – para mostrar) y (Deslizar de derecha a izquierda – para ocultar)
- No se puede cambiar el color del icono del cajón de navegación en android
- Cajón No se muestra el cajón de navegación de salida
- Navegación Ver Texto Multilínea
- Cambiar el idioma del elemento navigationdrawer
- No muestre la superposición con el Cajón de navegación de Android
¿Cómo puedo mostrar / ocultar el cajón con el botón resaltado en la siguiente captura de pantalla:
Header_home.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/header_layout" android:gravity="fill_horizontal" android:layout_gravity="top|center"> <TextView android:id="@+id/textHeader" android:text="Home" android:textColor="#ffffff" android:gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_header" /> <ImageButton android:id="@+id/btnDrawer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:adjustViewBounds="true" android:background="@drawable/icon_drawer" android:contentDescription="@string/app_name" />
Editado:
btnMenu.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub drawer.openDrawer(Gravity.LEFT); } });
Sé que para cerrar tengo que llamar a drawer.closeDrawer(Gravity.LEFT);
Pero donde tengo que colocar este código?
- Retardo de cajón de navegación en Android
- Cajón de navegación siempre visible (un poco)
- La flecha hacia arriba no se muestra después de llamar a ActionBarDrawerToggle.setDrawerIndicatorEnabled (false)
- Elemento seleccionado en el cajón de navegación
- Android - ¿Es posible cajón de navegación desde el lado derecho?
- ¿Cómo asociar el cajón de navegación al botón del arrastrador?
- Optimizar el cajón y la velocidad de lanzamiento de la actividad
- Cajón de navegación para múltiples actividades
Coge una referencia a DrawerLayout
y llama a closeDrawer (int) para cerrarla y abreDrawer (int) para abrirla. El parámetro int se refiere a la gravedad. En su caso, debe ser Gravity.LEFT
, ya que según la captura de pantalla que ha publicado, su DrawerLayout
abrir y cerrar a la izquierda
Cerrar Cajón:
drawer.CloseDrawer((int)GravityFlags.Left);
Abrir el cajón:
drawer.OpenDrawer((int)GravityFlags.Left);
Si está utilizando el menú Cajón corredizo y desea ocultar el menú cuando está abierto (cuando arrastrar de derecha a izquierda). Entonces tenemos que lidiar con el listview de objetos con el oyente de ontouch. El código será así.
//((( When we drage from Right to left then menu hide )))) lvMenu.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: toggleMenu(v); break; case MotionEvent.ACTION_UP: //showtoast("up"); break; default: return false; } return false; } }); public void toggleMenu(View v) { mLayout.toggleMenu(); }
Para obtener el código completo, puede poner el comentario aquí, si tiene algún problema
- Crashlytics deprecating logException () ¿cuál es el reemplazo?
- ¿Utilizando RoboSpice hay una manera de obtener el código de error HTTP de una excepción?