Android之Fragmentation的使用一(单Activity+多Fragment设计)

本文介绍使用Fragmentation库打造单Activity+多Fragment的App基础架构:
Fragmentation库提供了SupportActivity和SupportFragment两个基础类,通过分别继承这两个类,实现自己的业务。


1.导入依赖:

2.封装BaseFragment
自定义BaseFragment继承自Fragmentation提供的SwipeBackFragment
将BaseFragment改为抽象类,在具体业务中定义具体的页面Fragment时就继承这个类,实现它的抽象方法,传入布局,绑定视图。

Android之Fragmentation的使用一(单Activity+多Fragment设计)_第1张图片

3.定义具体的MyFragment继承自BaseFragment

Android之Fragmentation的使用一(单Activity+多Fragment设计)_第2张图片

4.把定义的MyFragment加入唯一的MyActivity实例

Android之Fragmentation的使用一(单Activity+多Fragment设计)_第3张图片


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中进行跳转。

你可能感兴趣的:(android)