Closed qii closed 3 weeks ago
如果你的代码有大量的 Fragment,又想做 Single Activity,但是又不想重构从 Fragment 迁移到 Scene,有一种做法是,写一个 FragmentScene,复制 AndroidX 的 FragmentActivity 使用 FragmentController 加载 Fragment 的逻辑,实现 Scene 加载 Fragment,如果 FragmentController 有方法没有 public 权限,那么你可以把 FragmentScene 放到 AndroidX 的同 packagename 下面即可
因为逻辑跟 FragmentActivity 完全对齐,所以也就不需要你改动旧的 Fragment 的逻辑,他唯一的缺陷是未来升级 AndroidX 的时候,如果 FragmentActivity 有变化,可能需要你同步到 FragmentScene
后续 Scene 库会提供单独的 Module 附带上这个支持,甚至也可以基于 Scene 框架封装出一套使用 Fragment 的新导航库来
https://github.com/bytedance/scene/wiki/Scene-load-Fragment 后续查看 Wiki 和 Demo
如果你的代码有大量的 Fragment,又想做 Single Activity,但是又不想重构从 Fragment 迁移到 Scene,有一种做法是,写一个 FragmentScene,复制 AndroidX 的 FragmentActivity 使用 FragmentController 加载 Fragment 的逻辑,实现 Scene 加载 Fragment,如果 FragmentController 有方法没有 public 权限,那么你可以把 FragmentScene 放到 AndroidX 的同 packagename 下面即可
因为逻辑跟 FragmentActivity 完全对齐,所以也就不需要你改动旧的 Fragment 的逻辑,他唯一的缺陷是未来升级 AndroidX 的时候,如果 FragmentActivity 有变化,可能需要你同步到 FragmentScene
后续 Scene 库会提供单独的 Module 附带上这个支持,甚至也可以基于 Scene 框架封装出一套使用 Fragment 的新导航库来