NavigationDrawer禁用右键滑动

TMH*_*TMH 5 android navigation-drawer

我有DrawerLayout设置,左侧有一个抽屉

<FrameLayout android:id="@+id/navigation_drawer"
    android:layout_width="@dimen/navigation_drawer_width"
    android:layout_height="match_parent"
    android:layout_gravity="start" />


<FrameLayout android:id="@+id/navigation_drawer_right"
    android:layout_width="@dimen/navigation_drawer_width"
    android:layout_height="match_parent"
    android:layout_gravity="end" />
Run Code Online (Sandbox Code Playgroud)

运行某个方法时会填充右侧抽屉,但是,在运行该方法之前,我可以从右侧滑动,屏幕变暗但没有显示任何内容(因为在方法运行之前布局为空).

如何禁用从右侧滑动直到方法运行?我已经看到完全禁用任何滑动的解决方案,但这对我不起作用,因为左抽屉需要始终工作(当在左抽屉上选择特定选项时调用设置右绘制功能).

或者,有没有更好的方法来做到这一点?也许在运行函数时动态添加正确的FrameLayout?

Kev*_*rlo 9

这会禁用滑动:

mDrawerLayout = (DrawerLayout) findViewById(R.id.navigation_drawer_right);
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Run Code Online (Sandbox Code Playgroud)

并启用滑动:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
Run Code Online (Sandbox Code Playgroud)