【发布时间】:2019-01-08 11:33:20
【问题描述】:
在我的应用程序中,我不希望抽屉式菜单在用户滑动时打开一些屏幕。我怎样才能做到这一点?该应用仅使用一个 Activity,其余为片段。
【问题讨论】:
标签: android menu navigation-drawer slidingdrawer
在我的应用程序中,我不希望抽屉式菜单在用户滑动时打开一些屏幕。我怎样才能做到这一点?该应用仅使用一个 Activity,其余为片段。
【问题讨论】:
标签: android menu navigation-drawer slidingdrawer
即使用户滑动打开滑动菜单,如何保持关闭?
在您的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);
【讨论】: