Android中利用工厂模式实现单Activity多Fragme

2018-11-15  本文已影响0人  Dalvik_

设计的初衷:

        在Android中会出现大量的界面效果,如果我们每个界面都去创建一个Activity的话,就需要在Android的AndroidManifest.xml里边注册大量的Activity,这样会导致看起来的会相当的冗杂。

        一个Activity多个Fragment去构建一个App的整体架构,这样的好处多多,所以我们可以利用简单工厂设计模式搭建一个多Fragment公用同一个Activity,这样只需要注册一次Activity,而且使用Fragment做视图,组装更灵活,渲染更快,也可以统一修改加载动画。

实现方式:

1.创建一个FragmentID类,通过这个ID创建对应的Fragment实例

FragmentID

2.创建一个Fragment实例生产工厂类,根据FragmentID生成对应的实例,该类有两个静态方法,分别创建无参数和有参数传递的Fragment实例,参数用Bundle来传递

FragmentFactory

3.创建一个宿主Activity,该Activity同时又会有两个静态方法,分别来实现有参数和无参数Fragment的创建

FgtActivity

根据bundle对象是否为null来调用FragmentFactory对应的方法。

4.页面展示的时候直接调用FgtActivity对应的静态方法即可。

MainActivity

这样就可以实现同一个Activity管理多个Fragment的整体项目结构了,大家可以参考一下。

Demo地址:https://github.com/Garen-93/FactoryPattern

上一篇下一篇

猜你喜欢

热点阅读