当前位置: 首页 > 知识库问答 >
问题:

导航抽屉(Google+vs.YouTube)

丁文轩
2023-03-14

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

其他堆栈溢出问题还没有关于如何做到这一点的答案,所以我正在尝试收集尽可能多的信息来帮助其他人。我在下面提到的所有应用程序都很好地实现了幻灯片菜单。

只有点击左上角的G+标识,才能从第一屏进入第二屏。注意,整个屏幕从它的位置移动,并且get被推到屏幕的右侧(包括操作栏)。要回到第一个屏幕,您可以将右侧滑回焦点,也可以再次单击G+图标

您可以使用两种方法从第一个屏幕转到第二个屏幕。或者点击左上角的YouTube标志,或者你可以用一个滑动的手势将它移到右边。这已经和G+的APP不一样了。其次,你可以看到动作条保持原地不动(不像G+)。最后,要恢复原始屏幕,它的工作方式就像G+一样。

共有3个答案

佴波鸿
2023-03-14

NavigationDrawer有一个很好的实现,它遵循Google Material Designment Guidelies(并兼容API10)--MaterialDrawer库(链接到GitHub)。截至2017年5月撰写本报告时,它得到了积极的支持。

它在Maven Central Repo中可用。分级依赖项设置:

compile 'com.mikepenz:materialdrawer:5.9.1'

Maven依赖项设置:

<dependency>
    <groupId>com.mikepenz</groupId>
    <artifactId>materialdrawer</artifactId>
    <version>5.9.1</version>
</dependency>
刘高驰
2023-03-14

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

https://github.com/jaredsburrows/ribbonmenu

  • 易于访问:允许轻松访问滑入和滑出的菜单
  • 易于实现:使用最少的代码更新同一屏幕
  • 独立性:不需要ActionBarsherlock
  • 等支持库
  • 自定义:易于更改颜色和菜单
  • 更改了滑动动画以匹配Facebook和Google+应用程序
  • 添加了标准ActionBar(您可以选择使用ActionBarSherlock)
  • 使用menuitem打开菜单
  • 添加了更新主activity上的ListView
  • 在菜单中添加了2个列表视图,类似于Facebook和Google+应用程序
  • 添加了AutoCompleteTextView和一个按钮,以显示实现示例
  • 添加了允许用户单击“上一步”按钮以在菜单打开时隐藏菜单的方法
  • 允许用户同时与后台(主列表视图)和菜单交互,这与Facebook和Google+应用程序不同!

菜单已出的ActionBar

菜单已出且搜索已选的ActionBar

彭坚壁
2023-03-14

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

  • 可在此处找到设计文档。
  • 可在此处找到开发人员文档。

罗曼·努里克(谷歌安卓设计工程师)已经证实,推荐的行为是打开抽屉时不要移动动作条(像YouTube应用那样)。请看Google+的帖子。

我刚才回答了这个问题,但我回来再次强调,普里兴有最好的飞行菜单在那里...到目前为止。它非常漂亮,非常流畅,让Facebook、Google+和YouTube都感到羞愧。EverNote也很不错...但还是不如Prixing那么完美。查看这一系列关于如何实现flyout菜单的帖子(来自Prixing自己的首席开发人员!)。

Adam Powell和Richard Fulcher在49:47-52:50的Google I/O演讲中谈到了这一点,题目是“Android中的导航”。

总结一下他们的回答,到本文发布之日为止,滑出导航菜单还不是Android应用程序设计标准的正式组成部分。正如您可能已经发现的那样,目前没有对该特性的本地支持,但有人说要在即将到来的支持包修订版中添加该功能。

关于YouTube和G+应用程序,它们的行为不同似乎有些奇怪。我的最佳猜测是YouTube应用程序固定动作条位置的原因是,

>

  • 对于使用YouTube应用程序的用户来说,最重要的导航选项之一是搜索,它在操作栏的SearchView执行。这将是有意义的,使动作栏静态在这方面,因为它将允许用户始终有选择的搜索新的视频。

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

    另一个注意事项是,查看Google Play应用程序的另一个版本的“拉出菜单”(当你在最左边的页面时,向左滑动,然后拉出,“半页”菜单就会出现)。

    您说得对,这不是一个非常一致的行为,但似乎在Android团队中还没有100%的共识应该如何实现这个行为。如果将来两个应用程序都更新了,使两个应用程序的导航完全相同,我也不会感到惊讶(在谈话中,他们似乎非常热衷于使所有谷歌制造的应用程序的导航保持一致)。

  •  类似资料:
    • 有人能告诉我如何创建活动到这个主要活动,导航抽屉将看到在所有他们?我需要使用这个特定的MainActivity代码。我不需要使用碎片,只要3个简单的活动将添加到这个抽屉。 NavDrawer布局:

    • 我在将与和组合时遇到布局问题。 问题是,NavigationDrawer及其内容隐藏在工具栏后面。我已经做了很多研究,尝试了很多重组,但没有一个“解决方案”能解决我的问题。 在这个Webm小视频中可以找到一个演示:https://www.dropbox.com/s/i5zfc2x2ts2fws7/navigation_drawer_stackoverflow32523188.webm?dl=0 基

    • 我有一个程序,我想实现一个滑动菜单。 首先,我尝试了导航抽屉导航抽屉,这是我想要的,因为: 1)它不推屏幕,它覆盖它2)当我点击按钮上左它打开菜单3)当我尝试点击屏幕上的另一个 我不想有一个按钮向上左边,我希望用户点击一个按钮从屏幕和每次不同的滑动菜单出现。 我也尝试了jfeinstein10滑动菜单,但它不覆盖屏幕,它只是推开它,他们告诉我,这是不可能改变的。但另一方面,它是容易的,在某些方面更

    • 实际上,我正在我的应用程序中使用新的架构组件,并且我已经设置了导航组件。我有一个导航抽屉,我想用它。我已经设置好了,但我面临一些问题: 1-抽屉不会自动关闭。菜单正常工作并导航到正确的位置,但导航后不会关闭。我必须添加一个目的地ChangedListener才能自己关闭它。 在代码实验室里,抽屉自动关闭,我真的不明白为什么。 2-向上按钮打开抽屉。当我导航到非顶级片段时,菜单图标变为向上箭头,但当

    • 我正在为我的应用程序实现一个导航抽屉。现在,除了一个小故障外,它工作正常。当我设置导航抽屉图标(ic_Drawer)来替换常规的“HomeAsUp”插入符号图标时,我仍然得到箭头。导航抽屉图标不显示。我已经实现了android开发者网站上的每一种方法。但它似乎不起作用。 以下是我的代码:

    • 我有一个导航抽屉活动,其中有四个片段都很好。我还有另一个活动,我应该调用一个片段,它与导航抽屉活动有关。我已经修复了从另一个单独的活动中调用片段的问题。这里真正的问题是,如果我在导航抽屉活动中从碎片B上按back,它会返回到主碎片a,如果我从碎片a上按back,它会显示碎片B,实际上应该从应用程序中退出,它不应该显示碎片B。 我试过很多东西,比如:和覆盖导航抽屉活动中的onBackPressed(