【问题标题】:So what are the exact advantages of Fragments in Android 3.0?那么 Android 3.0 中 Fragments 的确切优势是什么?
【发布时间】:2011-08-07 09:56:29
【问题描述】:

有人能解释一下使用 Fragments 的确切优势吗?我们应该在什么情况下使用 Fragments?

据我了解,这个框架:

  • 帮助重用现有代码 - 如果我在 Fragment 中实现功能,那么当需要该功能时,在我的应用程序的多个部分中显示此 Fragment 相对容易。

  • 帮助处理多种屏幕尺寸 - 具有大屏幕的设备可能能够同时显示多个片段,而对于较小的设备,我可以在单独的活动中显示片段。

这个框架还有更多内容吗?

编辑:

我一直在一个用于 3.0 平板电脑的大型项目中广泛使用 Fragments。对我来说,最大的优势是使用片段,我可以将单个整体 Activity 中的逻辑分解为多个更小的片段。大屏幕意味着巨大的活动,难以阅读、理解(尤其是对于新团队成员)、开发和维护。片段在这件事上当然有帮助。

【问题讨论】:

  • 我和你一样困惑,因为自定义Views 总是很容易,这似乎(对我来说)可以解决所有相同的问题。

标签: android android-fragments


【解决方案1】:

这个框架还有更多内容吗?

  • 在屏幕上动态添加和移除片段时可用的动画效果

  • 自动 BACK 堆栈管理,因此 BACK 按钮可以在最终退出活动之前移除动态添加的片段

  • 与选项卡的操作栏集成,以替代TabHost

  • 与“列表”导航的操作栏集成(实际上是操作栏中的Spinner,在不同片段之间切换)

  • setRetainInstance(true) 提供的配置更改更容易处理

另外,回复@Jim Blackler:

我同意您的困惑,因为自定义视图总是很容易(对我来说)似乎可以解决所有相同的问题。

根据定义,片段提供的一切都可以使用Views 完成,因为片段构建在视图框架之上。但是,片段使涉及动态片段的更复杂的场景更容易恕我直言。

此外,与操作栏相结合的片段似乎很可能是 Google 长期关注的一个领域,这意味着我预计在接下来的 2-3 个版本中,该领域会有相当多的额外工作。

【讨论】:

    猜你喜欢
    • 2017-06-21
    • 2011-08-01
    • 2014-08-03
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 2015-01-16
    相关资源
    最近更新 更多