Закрыть панель навигации в упражнении в соответствии с процессом во фрагменте? - PullRequest
3 голосов
/ 01 июля 2019

У меня есть активность с меню навигационного ящика. Я внимательно изучаю один из фрагментов этой деятельности. В результате этого процесса я отправляю пользователя на панель инструментов. В результате этого доступ пользователя к меню должен быть отключен. Мысль, что закрытие события щелчка на значке меню будет решением. Я не знаю, как это сделать. Или какие-либо другие предложения?

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Если я правильно понял, вы хотите отключить доступ к ящику.Для этого вам просто нужно отключить кнопку, которая открывает его, и заблокировать его при закрытии.пример:

btnMenu.isEnabled = false
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)

Если вы хотите получить доступ к ящику из фрагмента, вы не можете и не нуждаетесь.

Вам нужен метод, который выполняет все операции в вашемактивность, а затем вызовите этот метод из вашего фрагмента.

Пример:

В действии:

fun closeAndLockDrawer() {
    drawer.closeDrawer(GravityCompat.START);
    btnMenu.isEnabled = false
    drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)
}

Во фрагменте:

(activity as YourActivity).closeAndLockDrawer()
0 голосов
/ 01 июля 2019

Если вы использовали виджет DrawerLayout, есть способ закрыть ящик как,

drawer.closeDrawer(GravityCompat.START);
...