Skip to content
YoKey edited this page Jun 27, 2017 · 38 revisions

Fragmentation在使用过程中有问题?

欢迎发邮件或者提issue。

新版本1.0有什么重要变化?

1、特性

  • 不需要强制继承SupportActivity/SupportFragment了,可以通过implements ISupportActivity/FragmentDelegate形式自己实现自定义SupportActivity/Fragment (可参考Demo中的MySupportActivity/Fragment)

  • 可以通过setFragmentAnimator()动态改变Fragment的动画了

  • 支持popTo()下的动画

  • 更好的支持处理自定义tag、添加SharedElements、不加入回退栈情况下的相关事务

  • 进一步兼容多点触控、高频事务,优化过度绘制问题

2、移除

  • 移除库中的FragmentLifecycleCallbacks(自support-25.1.0开始,官方新增了FragmentLifecycleCallbacks

  • 移除replaceLoadRootFragment(),统一使用loadRootFragment()

3、新增

  • 新增SupportHelper类,该类可以帮助获取栈内Fragment的相关信息等等

  • 增加extraTransaction()处理自定义tag、添加SharedElements、不加入回退栈的相关事务(替代原transaction()

  • 新增setFragmentAnimator()动态改变Fragment动画

  • 新增loadRootFragment(containerId, fragment, addToBack, allowEnterAnim),addToback指定是否加入回退栈(默认true),allowEnterAnim指定是否允许入场动画(默认false)

  • 新增popTo(f, includeF, afterRunnable, popAnim), popAnim:指定出栈时的动画

4、Fix:

  • 兼容support-25.4.0

  • 通过replaceFragment()加载的Fragment生命周期可以正确触发了

5、注意事项:

使用1.0后,在onCreateView()中加载Fragment的事务(比如start(),loadRootFragment()),请迁移到onViewCreated()或者onActivityCreated()

历史版本介绍看这里