Tenho seguido o guia da gaveta de navegação do Google e gostaria de adicioná-lo a uma atividade com guias e gestos.
Gostaria de desativar o gesto para abrir a gaveta de navegação, alguém tem alguma idéia de como fazer isso?
Tenho seguido o guia da gaveta de navegação do Google e gostaria de adicioná-lo a uma atividade com guias e gestos.
Gostaria de desativar o gesto para abrir a gaveta de navegação, alguém tem alguma idéia de como fazer isso?
Respostas:
Você deveria usar:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Funcionou para mim, o furto para abrir a gaveta foi desativado.
Se ainda assim não funcionar, confira a resposta fornecida aqui .
mDrawerLayout
, defina-o da seguinte forma: #mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
ToolBar
(API 21) e usar o SlidingTabLayout
recurso que possui, que está em conflito com o meu Nav. passando a gaveta. Então, prefiro desativar o Nav. corrediça da gaveta em favor do ToolBar
recurso deslizante.
para bloquear, você pode fazer isso:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
e para desbloquear:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
Adicione o valor da gravidade também ao usar setDrawerLockMode () ;
Faça isso :
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END);
Isso deve funcionar como um encanto
Para desativar a passagem, substitua onInterceptTouchEvent
e ative e faça onTouchEvent
com DrawerLayout
que eles retornem false.
A resposta para desativar o deslize é a correta. Acho que o LOCK_MODE_LOCKED_CLOSED funcionou no Compat 24.x, mas a funcionalidade foi alterada nas bibliotecas compatíveis mais recentes e o LOCK_MODE_LOCKED_CLOSED agora impede completamente a exibição do menu nav, mesmo usando o menu hamburger.
A seguinte classe funciona para mim (Kotlin):
class MyDrawerLayout(ctx: Context) : DrawerLayout(ctx) {
var isSwipeOpenEnabled: Boolean = true
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
if (!isSwipeOpenEnabled && !isDrawerVisible(Gravity.START)) {
return false
}
return super.onInterceptTouchEvent(ev)
}
@SuppressLint("ClickableViewAccessibility")
override fun onTouchEvent(ev: MotionEvent): Boolean {
if (!isSwipeOpenEnabled && !isDrawerVisible(Gravity.START)) {
return false
}
return super.onTouchEvent(ev)
}
}
Isso funciona para mim
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, {Your drawer view});