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:
- Actualizar Navegación cajón listview
- Cambiar el ícono de la hamburguesa del cajón de navegación
- Cajón de navegación con cabeceras / secciones
- Dinámico añadiendo elemento a NavigationView en Android
- Efecto de desplazamiento del menú del cajón de navegació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.
- ¿Cómo configurar el color / estilo personalizado de ActionBar?
- Cajón de navegación onNavigationDrawerItemSelected llamado antes de MainActivity onCreate?
- Desactivar la hamburguesa para animar las flechas
- Indicador de cajón en lollipop play store
- Uso de fragmentos del cajón de navegación para superponer la actividad
- Desplazamiento de izquierda a derecha con el visor y el cajón de navegación
- El título de CollapsingToolbarLayout desaparece
- Cajón de navegación cambio de color
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
- Notificación local repetida cada día en PhoneGap Android
- ¿Cómo saber si Google Analytics funciona (aplicación de Android)?