有谁知道如何实现像今天的一些顶级应用程序一样的滑动菜单?
其他Stack Overflow questions对如何执行此操作没有任何答案,因此我正在尝试收集尽可能多的信息以帮助其他人。我在下面提到的所有应用程序都可以很好地实现幻灯片菜单。
您只能通过单击左上角的G +徽标从第一个屏幕进入第二个屏幕。请注意,整个屏幕从其位置移动并轻推到屏幕右侧(包括操作栏)。要返回第一个屏幕,您可以将右侧滑回焦点,也可以再次单击G +图标。
您可以使用两种方法从第一个屏幕进入第二个屏幕。您可以点击左上方的YouTube徽标,也可以使用滑动手势将其移到右侧。这已经与G + app不同了。其次,您可以看到操作栏保持不变(与G +不同)。最后,要恢复原始屏幕,它就像G +一样。
答案 0 :(得分:152)
导航抽屉模式在Android文档中正式描述!
请查看以下链接:
Roman Nurik(Google的Android设计工程师)已确认建议的行为是在打开抽屉时不移动操作栏(如YouTube应用)。请参阅此Google+ post。
我刚才回答了这个问题,但我又重新强调, Prixing有最好的飞出菜单......到目前为止。这绝对是美丽的,非常流畅,它让Facebook,Google +和YouTube蒙羞。 EverNote也很不错......但仍然不如Prixing那么完美。查看关于弹出菜单实施方式的this series of posts(来自Prixing本人的开发人员!)。
Adam Powell和Richard Fulcher在Google I / O题为“Android中导航”的演讲中49:47 - 52:50谈论此事。
总结他们的答案,截至发布之日,幻灯片导航菜单不正式成为Android应用程序设计标准的一部分。正如您可能已经发现的那样,目前没有对此功能的原生支持,但有人谈到将此添加到即将推出的支持包修订版中。
关于YouTube和G +应用,它们的行为方式似乎很奇怪。我最好的猜测是YouTube应用程序修复操作栏位置的原因是,
使用YouTube应用的用户最重要的导航选项之一是搜索,该操作在操作栏的SearchView
中执行。在这方面使操作栏保持静态是有意义的,因为它允许用户总是可以选择搜索新视频。
G +应用使用ViewPager
来显示其内容,因此制作特定于布局内容的拉出菜单(即操作栏下的所有内容)都没有多大意义。刷卡应该提供在页面之间导航的方式,而不是全局导航的方式。这可能就是为什么他们决定在G +应用程序中使用不同于YouTube应用程序的方式。
另外请注意,请查看Google Play应用以获取其他版本的“拉出菜单”(当您在最左侧页面时,向左滑动并拉出,“半页”菜单将会出现)。
你说得对,这不是非常一致的行为,但似乎Android团队内部尚未就如何实施此行为达成100%的一致意见。如果将来应用程序更新以便两个应用程序中的导航相同(我们似乎非常热衷于在谈话中使所有Google制作的应用程序的导航保持一致),我不会感到惊讶。
答案 1 :(得分:15)
就在最近,我分叉了一个名为“RibbonMenu”的当前Github项目并对其进行了编辑以满足我的需求:
https://github.com/jaredsburrows/RibbonMenu
带菜单输出的ActionBar
带有菜单输出和搜索选择的ActionBar
答案 2 :(得分:5)
有一个很棒的NavigationDrawer
实施符合Google Material Design Guidelines(兼容API 10) - MaterialDrawer库(link to GitHub)。截至2017年5月,它已得到积极支持。
可在Maven Central repo中找到。 Gradle依赖设置:
compile 'com.mikepenz:materialdrawer:5.9.1'
Maven依赖设置:
<dependency>
<groupId>com.mikepenz</groupId>
<artifactId>materialdrawer</artifactId>
<version>5.9.1</version>
</dependency>
答案 3 :(得分:2)
我个人喜欢Google Drive官方应用中的navigationDrawer
。它只是工作和工作很好。我同意导航抽屉不应移动操作栏,因为它是打开和关闭导航抽屉的关键点。
如果您仍在尝试获取该行为,我最近创建了一个名为SherlockNavigationDrawer
的项目,您可能期望使用ActionBarSherlock
实现导航抽屉,并适用于蜂窝前设备。检查一下:
答案 4 :(得分:2)
我知道这是一个老问题,但最新的答案是使用Android Support Design library,这将使您的生活变得轻松。