【问题标题】:What are the advantages of using Navigation Drawer with Activities VS with Fragments?将 Navigation Drawer 与活动 VS 与片段一起使用有什么优势?
【发布时间】:2017-01-16 06:38:53
【问题描述】:

我想在我的应用程序中实现一个导航抽屉,但我对是否应该将它与片段或活动一起使用存在冲突(有关更多详细信息,请参见下图)。

两者之间有什么真正的优势或劣势,还是只是偏好问题?

编辑:

只是为了澄清我的问题:

  1. 在使用活动而不是片段的情况下;

当我选择“导入”时,它将打开一个 Activity 而不是片段,如果我选择“画廊”,它将打开一个 Activity,其中包含画廊项目等的内容,等等,用于抽屉窗口中的其他项目。

  1. 在使用 Fragments 而不是 Activities 的情况下;

如果我从抽屉窗口中的任何项目中进行选择,它将在片段中为每个选定的项目打开它们的内容,而不是为每个选择启动新的活动。

【问题讨论】:

  • 如果你打开一个新的Activity,你会失去导航抽屉。当所有 Fragment 都与某个“顶级”视图相关时,应使用抽屉。
  • @cricket_007 所以基本上如果我将抽屉与活动一起使用,我必须在每个 NavigationDrawer 项目的活动页面中创建一个新实例?
  • 我想是的。你必须打电话给setContentView,你会失去对另一个抽屉的引用。
  • @cricket_007 好的

标签: android android-fragments navigation-drawer


【解决方案1】:

记住片段需要一个活动。使用 Fragments 时,您总是有一个最小值。

如果您说的是在大多数情况下使用类似主元素,则最好使用片段,因为您拥有更灵活的 UI。

如果你有 3 个活动和 10 个片段或有 13 个活动,性能会更好吗?想一想,应用内的导航将是一个巨大的挑战,但它只是在您的应用中使用正确的流程。

编辑:

例如:

带有活动而不是片段的抽屉

如果您要在不使用 Fragments 的情况下使用 NavigationDrawer,那么最好将 NavigationDrawer 实例保留在单个 Activity 中,并且当您通过从 NavigationDrawer 中的项目中进行选择来导航应用程序时,启动的每个 Activity 都不应该实现NavigationDrawer 而是应该实现后退按钮以导航回实现 NavigationDrawer 的“主”/单个 Activity。

注意:如果您确实想在多个 Activity 中实现 NavigationDrawer,则必须在要显示它的每个 Activity 中重新创建 NavigationDrawer 的新实例。

我认为与使用 Fragments 相比,这将是一个劣势,而如果您使用 Fragment,则不需要很多抽屉实例,您只需要一个。

带有片段而不是活动的抽屉

If you use the NavigationDrawer with Fragments then the drawer should be implemented in a single Activity and when each drawer item is selected, their contents are displayed in each of their very own Fragments(which is called inside of the central Activity which manages所有 Fragment 实例)

【讨论】:

    猜你喜欢
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 2011-02-18
    相关资源
    最近更新 更多