我正在开发Android应用程序,那边有一个导航抽屉.由于导航抽屉工具栏不能透明,并且结束三点按钮图标无法更改,我选择隐藏该工具栏,并显示我的自定义布局.它将为我提供所需的所有功能.
但我现在面临的问题是,一旦活动开始,如果我点击自定义菜单按钮它就不会打开.一旦我拖动它并打开,之后每当我点击菜单按钮时它就会打开导航抽屉.
我可能会缺少什么?这就是我正在做的事情,同时调试它甚至到了else部分,但是没有打开.
在BaseActivity中:
drawer = (DrawerLayout) findVIEwByID(R.ID.drawer_layout); toggle = new ActionbarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState();navigationVIEw = (NavigationVIEw) findVIEwByID(R.ID.nav_vIEw); navigationVIEw.setNavigationItemSelectedListener(this);ivleft.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { if (drawer.isDrawerOpen(Gravity.left)) { drawer.closeDrawer(Gravity.left); } else { drawer.openDrawer(Gravity.left); } } });
在任何儿童活动中:
toolbar.setVisibility(VIEw.GONE); navigationVIEw.setVisibility(VIEw.GONE);
请帮忙..
解决方法:
问题的根本原因在于您将抽屉VIEw的可见性设置为GONE.但是,您描述的奇怪行为的直接原因是,当抽屉状态发生变化时,DrawerLayout及其辅助类之一如何更新子视图.
您设置为打开和关闭抽屉的OnClickListener正在按预期工作.它似乎没有,因为抽屉VIEw是GONE.但是,当您通过拖动手动打开抽屉时,DrawerLayout使用的VIEwDragHelper会触发一个回显方法,该方法将抽屉显式设置为VISIBLE.以编程方式打开抽屉时不会触发此回调 – 也就是说,使用openDrawer()方法 – 这解释了为什么仅通过单击自定义切换按钮来显示抽屉的原因.拖动抽屉一次后,抽屉视图可见,然后切换按预期工作.
抽屉VIEw默认处于关闭状态,因此您无需隐藏它,只需删除navigationVIEw.setVisibility(VIEw.GONE);线.
总结以上是内存溢出为你收集整理的android – 导航抽屉无法从cutom菜单按钮打开全部内容,希望文章能够帮你解决android – 导航抽屉无法从cutom菜单按钮打开所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)