Android DrawerLayout.setDrawerLockMode () no funciona

Tengo un cajón de navegación ( appcompat v7 ) en mi aplicación que está funcionando perfectamente bien.

Ahora quiero deshabilitarlo, hasta que el usuario compre una compra en la aplicación para desbloquear funcionalidad adicional. Así que en mi Activity.onCreate() , después de inicializar el cajón y poblarlo, estoy llamando a esta función:

 mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

Esta función no está haciendo nada. El cajón continúa abriéndose y cerrándose normalmente después de tocar el cajón de cartón en la barra de acción. Intenté llamar a esta función en Activity.onResume() sin ninguna diferencia.

¿Cuál es la forma correcta de utilizar esta función? (Traté de buscar respuestas en línea, pero no pude encontrar nada que aborda mi problema). Cualquier ayuda es apreciada, ya que estoy atrapado en este tema por algún tiempo ahora.

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

Sólo está desactivando el diseño del cajón de apertura por deslizamiento hasta que haga clic en el icono del cajón de navegación mantener una variable booleana

Escriba mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); onStart() y también escribir debajo de las líneas de código

  @Override public boolean onOptionsItemSelected(android.view.MenuItem item) { if(!disabled) { if (item.getItemId() == android.R.id.home) { if (mDrawerLayout.isDrawerOpen(mDrawerLinearLayout)) { mDrawerLayout.closeDrawer(mDrawerLinearLayout); } else { mDrawerLayout.openDrawer(mDrawerLinearLayout); } } } return super.onOptionsItemSelected(item); } 

Esto funcionará con seguridad

Cuando llama a setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) bloquea el cajón de apertura y cierre sólo con swipes.

El cajón continúa abriéndose y openDrawer(int) normalmente después de tocar el cajón de cartón en la barra de acción porque su cajón seguirá respondiendo a las llamadas a openDrawer(int) , closeDrawer(int) aunque un cajón esté bloqueado. Es necesario agregar algo de lógica en la barra de acción del botón del menú de escucha y no llamar a openDrawer (int) cuando no desea que se abra.

Por cierto, está bien llamar a setDrawerLockMode(int) en onСreate

  • Esperando que el Cajón de Navegación se cierre antes de inicializar Fragmentos con el lazo vacío while
  • Añadir 2 listview en el cajón de navegación, sólo uno funciona
  • Diseño de material: cómo establecer transparencia para el botón de acción flotante de Android
  • Nuevo ícono oficial para Android Navigation Drawer
  • Estado del fragmento del cajón de navegación de Android
  • Configuración del relleno de la barra de estado en NavigationView en Android
  • Android en el cajón cerrado escucha
  • Cómo cambiar la lista de color del elemento seleccionado en el cajón de navidgation?
  • No abra el cajón de navegación de forma predeterminada
  • ¿Ha cambiado el título en el cambio de orientación?
  • Cajón de navegación Elementos que no registran el evento de clic
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.