那么Android 3.0中Fragments的确切优势是什么?

Zso*_*agy 24 android android-fragments

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

据我所知,这个框架:

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

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

这个框架还有更多吗?

编辑:

我已经在3.0平板电脑的大型项目中广泛使用Fragments.对我而言,最大的优势是使用片段我可以将单个整体活动中的逻辑分解为多个较小的片段.大屏幕意味着巨大的活动,难以阅读,理解(特别是对新团队成员),开发和维护.片段肯定有助于此事.

Com*_*are 24

这个框架还有更多吗?

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

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

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

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

  • 更容易处理配置变更礼貌 setRetainInstance(true)

另外,回应@Jim Blackler:

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

根据定义,片段提供的所有内容都可以使用Views,只是因为片段构建在视图框架之上.然而,片段使更复杂的场景涉及动态片段更容易恕我直言.

此外,与动作栏相关的片段似乎很可能成为谷歌长期关注的领域,这意味着我希望在接下来的2-3个版本中,该领域还有相当多的额外工作.