2011-04-17 75 views
24

请问有人可以解释使用Fragments的确切优点吗?我们应该在什么情况下使用碎片?那么Android 3.0中片段的确切优势是什么?

对于我个人理解,这个框架:

  • 帮助重用现有的代码 - 如果我在一个片段实现的功能,那么它比较容易显示在我的应用程序的多份该片段的功能时,是必要的。

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

这个框架还有更多吗?

编辑:

我一直在使用片段相当广泛的一个大项目为3.0粒。对我来说,最大的好处是使用片段我可以将单个整体活动中的逻辑分解为多个较小的片段。大屏幕意味着巨大的活动,难以阅读,理解(特别是对新团队成员),开发和维护。在这个问题上碎片确实有所帮助。

+1

我分享你的困惑,因为它总是很容易定制'看来'这似乎(我)解决所有相同的问题。 – 2011-04-17 18:17:01

回答

24

这个框架还有更多吗?

  • 动画效果时可用动态地添加和从屏幕上除去碎片

  • 自动回堆栈管理,因此返回按钮可以最终离开活动

  • 之前删除动态添加片段

    与标签的动作栏集成,作为替代品TabHost

  • 集成的“名单”为基础的导航操作栏(真正的行动酒吧Spinner,不同的片段之间切换)

  • 比较容易处理的配置变化的setRetainInstance(true)

礼貌此外,回复@Jim Blackler:

我分享你的困惑,因为它总是很容易自定义视图,这似乎(在我)解决所有相同的问题。

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

此外,与操作栏结合使用的片段似乎很可能成为Google长期关注的一个方面,这意味着我期待在接下来的2-3个版本中可以在此方面进行大量额外的工作。