您的位置:首页 > 移动开发 > Android开发

DrawerLayout禁用侧边滑动

2016-08-11 14:34 1716 查看
使用DrawerLayout的时候有时会出现侧边栏只能滑出一小部分,然后在手指抬起之后侧边栏并没有弹出来的情况,我不清楚这是否是一个BUG,但是个人感觉有些影响体验,索性直接将侧边滑动给禁用掉。

DrawerLayout的侧边滑动可以通过设置锁定模式来禁用 

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
这样设置之后侧边栏弹出之后也无法使用滑动来关闭,只能通过点击空白区域来关闭侧边栏,我们可以通过设置DrawerLayout的setDrawerListener在侧滑打开的时候取消锁定模式,侧滑关闭的时候打开锁定模式,代码如下:

mDrawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(View drawerView, float slideOffset) {}

@Override
public void onDrawerOpened(View drawerView) {
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
}

@Override
public void onDrawerClosed(View drawerView) {
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
}

@Override
public void onDrawerStateChanged(int newState) {}
});
通过这样的设置我们就实现了禁用侧边滑动,并且对其他操作不产生影响
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息