我以前习惯使用第三方库在Android中实现导航抽屉(滑动菜单),但我想从现在开始使用本机版本。我完成了教程(http://developer.android.com/training/implementing-navigation/nav-drawer.html),这非常简单。
我通常通过在基类中定义配置来将第三方导航抽屉扩展到每个活动。然而,新的导航抽屉交换片段,我的研究表明这是管理显示器的标准方法。
这看起来很好,但我的应用程序具有相当复杂的页面和导航层次结构。像大多数应用程序一样,它包含的碎片多于菜单中的碎片。
因此,如果我有片段A,B和C的3个导航抽屉项目,并且我只能从片段C加载片段D,我是否在配置导航抽屉的活动中处理该导航逻辑?让一个容器换出无限数量的碎片似乎是一种噩梦,特别是如果工作流程很深。
从我在Stack上可以收集到的内容中,似乎有很多人熟悉在每个Activity中扩展第三方抽屉,但是当他们切换到本机版本时会出现混乱。
总而言之,我理解导航的片段交换方面。我只是不明白其余的工作流程导航是如何工作的,比如我在导航项目片段下面有几个详细信息屏幕。如果有人能给我一些关于如何最好地处理这种情况的提示,也许我可以试验并为未来的读者发布一些代码。
答案 0 :(得分:4)
要在Android中导航,您必须记住一件事:
Fragments
。Activity
并显示
Fragment
,其中包含详细信息。 NavigationDrawer
用于应用中的顶级导航,可在应用的不同部分之间快速导航。它有点像主菜单。考虑到这一点,您需要确定NavigationDrawer
在您的应用中是否有意义。这完全取决于用户应该如何浏览内容。如果只有一条路径可供用户关注,例如,如果您只从一个屏幕开始,那么用户可以在导航层次结构中从一个详细视图深入到下一个{{1}没有多大意义。但是,如果有多条路径,用户可以将该线索带入应用程序的不同独立部分,而没有一个专用的开始屏幕,其他所有内容都依赖于NavigationDrawer
听起来非常合理。
您可以查看Gmail,云端硬盘或Google +等Google应用,了解NavigationDrawer
应该如何使用。