导航抽屉(Google+与YouTube)

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

其他堆栈溢出问题没有任何答案如何做到这一点,所以我试图收集尽可能多的信息来帮助别人。 我在下面提到的所有应用程序在实现幻灯片菜单方面做得非常好。

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

Google+滑出菜单屏幕截图

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

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

YouTube滑出菜单截图

您可以使用两种方法从第一个屏幕转到第二个屏幕。 您可以点击左上角的YouTube徽标,也可以使用滑动手势将其移至右侧。 这已经不同于G +应用程序。 其次,您可以看到操作栏保持不变(与G +不同)。 最后,为了获得原始屏幕,它就像G +一样工作。


编辑#3:

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

在这里输入图像描述 查看以下链接:

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

  • 编辑#2:

    Roman Nurik(Google的Android设计工程师)已确认,建议的行为是在打开抽屉时不要移动操作栏(如YouTube应用程序)。 查看此Google+信息。


    编辑#1:

    前段时间我回答了这个问题,但是我回过头来再强调一下, Prix​​ing有最好的飞出菜单......到目前为止 。 它绝对美丽,非常流畅,它让Facebook,Google +和YouTube感到羞耻。 EverNote也很不错...但仍然不如Prixing完美。 看看这个系列贴文是如何实现弹出菜单的(从Prixing自己的头部开发者那里得到的)。


    原始答案:

    Adam Powell和Richard Fulcher在题为“Android in Navigation”的Google I / O讨论中谈到了这个问题。

    总结他们的回答,截至本文发布日期,滑出式导航菜单并不是Android应用程序设计标准的正式组成部分。 正如您可能已经发现的那样,目前还没有对此功能的本地支持,但有人说这是对即将到来的支持包的修订的补充。

    对于YouTube和G +应用程序,它们的行为有所不同,这似乎很奇怪。 我最好的猜测是,YouTube应用修复操作栏位置的原因是,

  • 使用YouTube应用程序的用户最重要的导航选项之一是搜索,这是在操作栏的SearchView中执行的。 在这方面使动作栏保持静态是有意义的,因为它可以让用户始终有选择搜索新视频。

  • G +应用程序使用ViewPager显示其内容,因此制作特定于布局内容(即操作栏下的所有内容)的拉出菜单没有太大意义。 滑动应该提供页面之间的导航方式,而不是全局导航的手段。 这可能是他们决定在G +应用中以不同于YouTube应用的方式做到这一点的原因。

    另外请注意,查看Google Play应用的另一个版本的“拉出式菜单”(当您位于最左侧页面时,向左滑动并拉出,“半页”菜单将出现)。

  • 你说得对,这不是一个非常一致的行为,但似乎并没有在Android团队内达成100%的一致意见,应该如何实现这种行为。 如果未来应用程序已更新,以便两款应用程序中的导航都相同(他们似乎非常热衷于使导航在所有Google制作的应用程序中保持一致),所以我不会感到惊讶。


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

    https://github.com/jaredsburrows/RibbonMenu

    目的是什么?

  • 轻松访问:可轻松访问滑入和滑出的菜单
  • 易于实施:使用最少量的代码更新相同的屏幕
  • 独立性:不需要支持库,如ActionBarSherlock
  • 定制:易于更改颜色和菜单
  • 什么是新的

  • 将滑动动画更改为与Facebook和Google+应用相匹配
  • 添加标准的ActionBar(你可以选择使用ActionBarSherlock)
  • 使用菜单项打开菜单
  • 增加了在主Activity上更新ListView的功能
  • 向菜单添加了2个ListViews,类似于Facebook和Google+应用程序
  • 添加了一个AutoCompleteTextView和一个Button来显示实现的例子
  • 新增方法允许用户打开“后退按钮”以在菜单打开时隐藏菜单
  • 允许用户与Facebook和Google+应用不同,与后台(主ListView)和菜单同时进行交互!
  • 带菜单的ActionBar输出

    带菜单的ActionBar输出

    选择菜单和搜索的ActionBar

    选择菜单和搜索的ActionBar


    NavigationDrawer一个很好的实现遵循了Google Material Design Guidelines(并且兼容API 10) - MaterialDrawer库(链接到GitHub)。 截至写作时间,2017年5月,它得到了积极的支持。

    它在Maven中央仓库中可用。 Gradle依赖关系设置:

    compile 'com.mikepenz:materialdrawer:5.9.1'
    

    Maven依赖设置:

    <dependency>
        <groupId>com.mikepenz</groupId>
        <artifactId>materialdrawer</artifactId>
        <version>5.9.1</version>
    </dependency>
    

    在这里输入图像描述在这里输入图像描述

    链接地址: http://www.djcxy.com/p/90293.html

    上一篇: Navigation Drawer (Google+ vs. YouTube)

    下一篇: EntityValidationError in EntityFramework Code first migration