需要澄清本机导航抽屉如何与Fragments一起使用

时间:2014-05-11 23:07:38

标签: android android-fragments

我以前习惯使用第三方库在Android中实现导航抽屉(滑动菜单),但我想从现在开始使用本机版本。我完成了教程(http://developer.android.com/training/implementing-navigation/nav-drawer.html),这非常简单。

我通常通过在基类中定义配置来将第三方导航抽屉扩展到每个活动。然而,新的导航抽屉交换片段,我的研究表明这是管理显示器的标准方法。

这看起来很好,但我的应用程序具有相当复杂的页面和导航层次结构。像大多数应用程序一样,它包含的碎片多于菜单中的碎片。

因此,如果我有片段A,B和C的3个导航抽屉项目,并且我只能从片段C加载片段D,我是否在配置导航抽屉的活动中处理该导航逻辑?让一个容器换出无限数量的碎片似乎是一种噩梦,特别是如果工作流程很深。

从我在Stack上可以收集到的内容中,似乎有很多人熟悉在每个Activity中扩展第三方抽屉,但是当他们切换到本机版本时会出现混乱。

总而言之,我理解导航的片段交换方面。我只是不明白其余的工作流程导航是如何工作的,比如我在导航项目片段下面有几个详细信息屏幕。如果有人能给我一些关于如何最好地处理这种情况的提示,也许我可以试验并为未来的读者发布一些代码。

1 个答案:

答案 0 :(得分:4)

要在Android中导航,您必须记住一件事:

  • 如果您保持在导航层次结构的同一级别,则为 例如,在浏览页面时,您使用Fragments
  • 例如,在导航层次结构中上下移动时 转到详细视图,您将开始一个新的Activity并显示 Fragment,其中包含详细信息。

NavigationDrawer用于应用中的顶级导航,可在应用的不同部分之间快速导航。它有点像主菜单。考虑到这一点,您需要确定NavigationDrawer在您的应用中是否有意义。这完全取决于用户应该如何浏览内容。如果只有一条路径可供用户关注,例如,如果您只从一个屏幕开始,那么用户可以在导航层次结构中从一个详细视图深入到下一个{{1}没有多大意义。但是,如果有多条路径,用户可以将该线索带入应用程序的不同独立部分,而没有一个专用的开始屏幕,其他所有内容都依赖于NavigationDrawer听起来非常合理。

您可以查看Gmail,云端硬盘或Google +等Google应用,了解NavigationDrawer应该如何使用。