24

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

据我了解,这个框架:

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

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

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

编辑:

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

4

1 回答 1

23

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

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

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

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

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

  • 稍微更容易处理配置更改的礼貌setRetainInstance(true)

另外,回复@Jim Blackler:

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

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

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

于 2011-04-17T18:36:35.160 回答