确定NavigationDrawer是打开还是关闭

Sud*_*ara 6 android navigation-drawer

有什么方法可以确定导航抽屉是打开还是关闭?我已阅读有关isDrawerOpen()isDrawerVisible()方法,但只有在导航抽屉打开或可见时,它们才会返回true.

我还读到onDrawerSlide(View drawerView, float slideOffset)了抽屉移动时调用的方法.这slideOffset是0到1之间的浮动值,告诉抽屉现在的位置.但即使在抽屉打开关闭时也会调用它.

我需要做的是,只有当抽屉打开而不是在关闭时才做某事,有些东西告诉我必须使用onDrawerSlide(View drawerView, float slideOffset)方法,但我无法弄清楚如何检查它是否打开而未关闭.

谢谢

ElD*_*ino 14

跟踪最后一个值是一个选项......

drawerLayout.setDrawerListener(new DrawerListener() {

        private float last = 0;

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

            boolean opening = arg1>last;
            boolean closing = arg1<last;

            if(opening) {
                Log.i("Drawer","opening");
            } else if(closing) {
                Log.i("Drawer","closing");
            } else {
                Log.i("Drawer","doing nothing");
            }

            last = arg1;
        }

        @Override public void onDrawerStateChanged(int arg0) {}
        @Override public void onDrawerOpened(View arg0) {}
        @Override public void onDrawerClosed(View arg0) {}

    });
Run Code Online (Sandbox Code Playgroud)