如何从一侧禁用抽屉布局?

Pra*_*jan 7 android android-layout navigation-drawer

我做了一个双抽屉布局,没有像这样的动作栏:

使用没有TitleBar或ActionBar的导航抽屉

我的要求是当左侧抽屉打开时禁用右侧抽屉,反之亦然.因此,当左抽屉打开时,我隐藏了右抽屉按钮,反之亦然,并且工作正常.

但问题是,即使我隐藏了一个按钮(左或右),抽屉仍然打开水平滑动(从右向左滑动).那么如何防止抽屉打开?

因为我在没有ActionBarDrawerToggle的内置函数中这样做

setOnDrawerOpenListener
setOnDrawerCloseListener
Run Code Online (Sandbox Code Playgroud)

不可用.

请帮忙!!

Gop*_*opi 16

这可能对你有所帮助......

    drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {

        @Override
        public void onDrawerStateChanged(int arg0) {

        }

        @Override
        public void onDrawerSlide(View view, float arg1) {

        }

        @Override
        public void onDrawerOpened(View view) {
            if(view == rightDrawerView) {
                drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, leftDrawerView);
            } else if(view == leftDrawerView) {
                drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, rightDrawerView);
            }
        }

        @Override
        public void onDrawerClosed(View view) {
            if(view == rightDrawerView) {
                 drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, leftDrawerView);
            } else if(view == leftDrawerView) {
                 drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, rightDrawerView);
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)


Tim*_* T. 7

试试这个

setDrawerLockMode (int lockMode, View drawerView)

drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN, yourDrawer)
Run Code Online (Sandbox Code Playgroud)