android – 确定NavigationDrawer是打开还是关闭

android – 确定NavigationDrawer是打开还是关闭,第1张

概述有什么方法可以确定导航抽屉是打开还是关闭?我已经阅读了有关isDrawerOpen()和isDrawerVisible()方法的信息,但是如果导航抽屉分别打开或可见,它们只会返回true. 我还读到了关于onDrawerSlide(View drawerView,float slideOffset)的方法,该方法在抽屉移动时被调用. slideOffset是介于0和1之间的浮动值,告诉抽屉现在处于 有什么方法可以确定导航抽屉是打开还是关闭?我已经阅读了有关isDraweropen()和isDrawerVisible()方法的信息,但是如果导航抽屉分别打开或可见,它们只会返回true.

我还读到了关于onDrawerSlIDe(VIEw drawerVIEw,float slIDeOffset)的方法,该方法在抽屉移动时被调用. slIDeOffset是介于0和1之间的浮动值,告诉抽屉现在处于哪个位置.但即使在抽屉打开和关闭时也会调用它.

我需要做的是,只有当抽屉打开而不是在关闭时才做某事,有些东西告诉我必须使用onDrawerSlIDe(VIEw drawerVIEw,float slIDeOffset)方法,但我无法弄清楚如何检查如果是开放而没有关闭.

谢谢

解决方法 跟踪最后一个值是一个选项……
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) {}    });
总结

以上是内存溢出为你收集整理的android – 确定NavigationDrawer是打开还是关闭全部内容,希望文章能够帮你解决android – 确定NavigationDrawer是打开还是关闭所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1133935.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存