在我的应用程序中,我有一些屏幕,我不希望在用户滑动时打开抽屉菜单。我该怎么做?该应用程序仅使用一个活动,其余活动是片段。
即使用户滑动打开滑动菜单,如何保持关闭
?
在您的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)
进行解锁
试试这个:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);