导航抽屉(Google+与YouTube)

时间:2012-07-07 18:11:44

标签: android android-layout user-interface navigation-drawer

有谁知道如何实现像今天的一些顶级应用程序一样的滑动菜单?

其他Stack Overflow questions对如何执行此操作没有任何答案,因此我正在尝试收集尽可能多的信息以帮助其他人。我在下面提到的所有应用程序都可以很好地实现幻灯片菜单。

1。 Google Plus(截至2012年7月7日)

Google+ slide out menu screenshot

您只能通过单击左上角的G +徽标从第一个屏幕进入第二个屏幕。请注意,整个屏幕从其位置移动并轻推到屏幕右侧(包括操作栏)。要返回第一个屏幕,您可以将右侧滑回焦点,也可以再次单击G +图标。

2。 YouTube(截至2012年7月7日)

YouTube slide out menu screenshot

您可以使用两种方法从第一个屏幕进入第二个屏幕。您可以点击左上方的YouTube徽标,也可以使用滑动手势将其移到右侧。这已经与G + app不同了。其次,您可以看到操作栏保持不变(与G +不同)。最后,要恢复原始屏幕,它就像G +一样。

5 个答案:

答案 0 :(得分:152)

编辑#3:

导航抽屉模式在Android文档中正式描述!

enter image description here 请查看以下链接:

  • 设计文档可以在 here 找到。
  • 开发人员文档可以在 here 找到。

编辑#2:

Roman Nurik(Google的Android设计工程师)已确认建议的行为是在打开抽屉时不移动操作栏(如YouTube应用)。请参阅此Google+ post


编辑#1:

我刚才回答了这个问题,但我又重新强调, 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应用程序修复操作栏位置的原因是,

  1. 使用YouTube应用的用户最重要的导航选项之一是搜索,该操作在操作栏的SearchView中执行。在这方面使操作栏保持静态是有意义的,因为它允许用户总是可以选择搜索新视频。

  2. G +应用使用ViewPager来显示其内容,因此制作特定于布局内容的拉出菜单(即操作栏下的所有内容)都没有多大意义。刷卡应该提供在页面之间导航的方式,而不是全局导航的方式。这可能就是为什么他们决定在G +应用程序中使用不同于YouTube应用程序的方式。

    另外请注意,请查看Google Play应用以获取其他版本的“拉出菜单”(当您在最左侧页面时,向左滑动并拉出,“半页”菜单将会出现)。

  3. 你说得对,这不是非常一致的行为,但似乎Android团队内部尚未就如何实施此行为达成100%的一致意见。如果将来应用程序更新以便两个应用程序中的导航相同(我们似乎非常热衷于在谈话中使所有Google制作的应用程序的导航保持一致),我不会感到惊讶。

答案 1 :(得分:15)

就在最近,我分叉了一个名为“RibbonMenu”的当前Github项目并对其进行了编辑以满足我的需求:

https://github.com/jaredsburrows/RibbonMenu

目的是什么

  • 轻松访问:允许轻松访问滑入和滑出的菜单
  • 易于实施:使用最少量的代码更新同一屏幕
  • 独立性:不需要支持库,例如ActionBarSherlock
  • 自定义:易于更改颜色和菜单

什么是新的

  • 更改了滑动动画以匹配Facebook和Google+应用
  • 添加了标准ActionBar(您可以选择使用ActionBarSherlock)
  • 使用menuitem打开菜单
  • 添加了在主要活动上更新ListView的功能
  • 在菜单中添加了2个ListView,类似于Facebook和Google+应用
  • 添加了AutoCompleteTextView和Button以显示实现示例
  • 添加了允许用户点击“后退按钮”以在菜单打开时隐藏菜单的方法
  • 与Facebook和Google+应用程序不同,允许用户同时与背景(主ListView)和菜单进行互动!

带菜单输出的ActionBar

ActionBar with Menu out

带有菜单输出和搜索选择的ActionBar

ActionBar with Menu out and search selected

答案 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>

enter image description here enter image description here

答案 3 :(得分:2)

我个人喜欢Google Drive官方应用中的navigationDrawer。它只是工作和工作很好。我同意导航抽屉不应移动操作栏,因为它是打开和关闭导航抽屉的关键点。

如果您仍在尝试获取该行为,我最近创建了一个名为SherlockNavigationDrawer的项目,您可能期望使用ActionBarSherlock实现导航抽屉,并适用于蜂窝前设备。检查一下:

SherlockNavigationDrawer github

答案 4 :(得分:2)

我知道这是一个老问题,但最新的答案是使用Android Support Design library,这将使您的生活变得轻松。