setDrawerLockMode在android中不起作用?

rom*_*e 웃 6 android swipe drawerlayout

我想锁定DrawerLayout的左右和左右滑动.

DrawerLayout drawerLayout;
Run Code Online (Sandbox Code Playgroud)

的onCreate:

drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Run Code Online (Sandbox Code Playgroud)

单击按钮打开drawerLayout:

drawerLayout.openDrawer(Gravity.LEFT);
Run Code Online (Sandbox Code Playgroud)

并关闭:

drawerLayout.closeDrawers();
Run Code Online (Sandbox Code Playgroud)

我在onCreate,onResume,onStart中尝试setDrawerLockMode但是没有工作,它仍然可以打开,关闭时滑动它.

编辑2:

它适用于:

android:layout_gravity="start"

而不是与:

android:layout_gravity="start|bottom"
Run Code Online (Sandbox Code Playgroud)

任何帮助.谢谢.

小智 1

使用 setDrawerLockMode() 时也添加重力值;

做这个 :

drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END);
Run Code Online (Sandbox Code Playgroud)

这应该有效