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)

¿Cómo puedo mostrar / ocultar el cajón con el botón resaltado en la siguiente captura de pantalla:

Introduzca aquí la descripción de la imagen

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?

3 Solutions collect form web for “Cómo mostrar / ocultar el cajón de navegación mediante programación”

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

  • Android Navigation Drawer (actividades de llamada) con AbstractMainActivity
  • LinearLayout $ LayoutParams no se puede convertir en android.support.v4.widget.DrawerLayout $ LayoutParams
  • Cómo resolver tipos inconvertibles no puede lanzar "Android.support.v4.app.fragment" a "nombre de paquete"
  • Toque en cualquier lugar para deslizar el menú abierto para el cajón de navegación
  • Cómo agregar un grupo al cajón de navegación mediante programación
  • Elemento seleccionado en el cajón de navegación
  • Icono de gavetas de navegación en la parte superior derecha muestra Icono de flecha trasero insted de icono de hamburguesa
  • Detección del estado de la aplicación de currículum de diferentes android estado de navegación
  • El cajón de navegación no funciona en las versiones pre-ICS
  • Uso de syncState () en ActionBarDrawerToggle
  • Android - ¿Es posible cajón de navegación desde el lado derecho?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.