本文介绍使用Fragmentation库打造单Activity+多Fragment的App基础架构:
Fragmentation库提供了SupportActivity和SupportFragment两个基础类,通过分别继承这两个类,实现自己的业务。
1.导入依赖:
2.封装BaseFragment
自定义BaseFragment继承自Fragmentation提供的SwipeBackFragment
将BaseFragment改为抽象类,在具体业务中定义具体的页面Fragment时就继承这个类,实现它的抽象方法,传入布局,绑定视图。
3.定义具体的MyFragment继承自BaseFragment
4.把定义的MyFragment加入唯一的MyActivity实例
5. Fragmentation中提供的跳转方法
(1)装载根Fragment,即Activity内的第一个Fragment
loadRootFragment(int containerId, SupportFragment toFragment);
(2)同级Fragment场景下的切换(类似底部导航栏之间切换Fragment)
showHideFragment(SupportFragment showFragment, SupportFragment hideFragment);
(3)启动Fragment的方法
// 启动新的Fragment,启动者和被启动者是在同一个栈的
start(SupportFragment fragment)
// 以某种启动模式,启动新的Fragment
start(SupportFragment fragment, int launchMode)
// 启动新的Fragment,并能接收到新Fragment的数据返回
startForResult(SupportFragment fragment,int requestCode)
// 启动目标Fragment,并关闭当前Fragment
startWithPop(SupportFragment fragment)
总结:
定义多个自己业务的Fragment继承自BaseFragment,然后调用Fragmentation提供的方法,在唯一的实例Activity中进行跳转。