Как сохранить скользящее меню закрытым, даже когда пользователь открывает его? - PullRequest
0 голосов
/ 08 января 2019

В моем приложении есть несколько экранов, на которых я не хочу, чтобы меню ящика открывалось, когда пользователь скользит. Как я могу это сделать? Приложение использует только одно действие, а остальные фрагменты.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Как сохранить скользящее меню закрытым, даже когда пользователь открывает его?

Используйте метод ниже в вашем Activity и вызывайте его как вам нужно.

 public void enableViews(boolean enable) {
       if (enable) {
            //You may not want to open the drawer on swipe from the left in this case
            drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
            // Remove hamburger
            toggle.setDrawerIndicatorEnabled(false);
            // Show back button
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            // when DrawerToggle is disabled i.e. setDrawerIndicatorEnabled(false), navigation icon
            // clicks are disabled i.e. the UP button will not work.
            // We need to add a listener, as in below, so DrawerToggle will forward
            // click events to this listener.
            toggle.setToolbarNavigationClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Doesn't have to be onBackPressed
                    onBackPressed();
                }
            });
        } else {
            //You must regain the power of swipe for the drawer.
            drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
            // Remove back button
            getSupportActionBar().setDisplayHomeAsUpEnabled(false);

            // Show hamburger
            toggle.setDrawerIndicatorEnabled(true);
            // Remove the/any drawer toggle listener
            toggle.setToolbarNavigationClickListener(null);
        }
    }

Примечание: - Звоните enableViews(true) для блокировки и enableViews(false) для разблокировки

0 голосов
/ 08 января 2019

Попробуйте это:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
...