Android Fragment 开发框架合集
2018-11-22 本文已影响49人
MrTrying
1. Fragmentation
一个强大的 Fragment
管理框架,为"单 Activity
+ 多Fragment
","多模块 Activity
+ 多 Fragment
"架构而生,简化开发,轻松解决动画、嵌套、事务相关等问题。
特性
- 悬浮球/摇一摇实时查看
Fragment
的栈视图,降低开发难度 - 内部队列机制 解决
Fragment
多点触控、事务高频次提交异常等问题 - 增加启动模式、
startForResult
等类Activity
方法 - 类
Android
事件分发机制的Fragment BACK
键机制:onBackPressedSupport()
- 提供
onSupportVisible()
、懒加载onLazyInitView()
等生命周期方法,简化嵌套Fragment
的开发过程 - 提供
Fragment
转场动画 系列解决方案,动态改变动画 - 提供
Activity
作用域的EventBus
辅助类,Fragment
通信更简单、独立(需要使用EventBusActivityScope库) - 支持SwipeBack滑动边缘退出(需要使用Fragmentation_SwipeBack库)
为了更好的使用和了解该库,推荐阅读下面的文章:
Fragment全解析系列(一):那些年踩过的坑
Fragment全解析系列(二):正确的使用姿势
2. FragmentRigger
一个强大的Fragment管理框架。
这可能是使用成本最低的 Fragment
框架。
无需继承!!!无需继承!!!无需继承!!! 重要的话说三遍!!
在使用 FragmentRigger
的时候,使用成本只有一行注解!!!
原理: 是把 Fragment
/ Activity
生命周期相关方法定义为切点,通过 ASpectJ
绑定并使用代理类进行操作。
特性
- 超强大Api支持
- 足够多的英文注释
- 严格的异常抛出
- 解决
Fragment
中常见的异常及Bug - 事务提交永不丢失
- 扩展原生方法,添加
onBackPressed
等常见的方法支持 - 当前栈成员树状图打印
Fragment
懒加载Fragment
转场动画- 自定义
Fragment tag
- 为非栈内的
Fragment
添加onBackPressed
支持 - 滑动边缘退出
Activity
/Fragment
3. AndroidNavigation
一个可以管理 Fragment
嵌套,状态栏和 Toolbar
透明的库。
可以能用构造一个 Activity
框架。
特性
- 一行代码实现
Fragment
嵌套,一次性构建好嵌套层级 - 一行代码实现
Fragment
跳转,不再需要写一大堆操作fragment
的代码了,不用担心用错FragmentManager
了 - 一行代码开关沉浸式状态栏,兼容到
Android 4.4
并解决了相关BUG - 自动为你创建
Toolbar
,一行代码设置标题、按钮,支持关闭自动创建功能以实现定制 - 一处设置全局样式,到处使用,并且支持不同页面个性化
- 支持侧滑返回
- 支持懒加载
- 支持
font icons
4. FragmentStack
一个封装了启动模式的 Fragment
便捷使用库,方便构建单 Activity
+ 多Fragment
轻量级框架。
特性
- 替代传统的
Activity
页面,轻量化页面 - 开启、关闭、动画、回退栈,生命周期回调等操作更加方便,一行代码即可搞定
- 自带
Activity
四种启动模式,接管了系统的回退栈
5. FragmentMaster
FragmentMaster
是一个库,允许您轻松开发仅由 Fragments
导航的 Android
应用程序。
特性
- 传递数据并在两个片段之间接收结果。
- 向右滑动即可向后导航。
- 自定义变换动画。
选择推荐
Fragmentation可以使用接口实现Base类的方便扩展,功能也相当强大还支持 EventBus
FragmentRigger使用了注解来实现框架,可能需要注意冲突
FragmentStack相当轻量,适合比较简单的需求使用
对于框架的选择,还是需要选择最合适实际情况的,不要以为的追求强大,必要时
Fork
下来根据需求自行修改。