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

设计的初衷:

        在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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,334评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,583评论 2 59
  • Fragment概述 Fragment是Activity中用户界面的一个行为或者说是一部分。主要是支持大屏幕上动态...
    wangling90阅读 13,985评论 5 75
  • 1.吸烟有害健康,有害就有害吧,反正当今社会有害的东西多的去了,坐飞机还能坠机呢?难道就不坐飞机了嘛 但是如果在烟...
    乘格帆阅读 3,332评论 2 5
  • 我给你瘦落的街道、绝望的落日、荒郊的月亮。 我给你一个久久地望着孤月的人的悲哀。 我给你我已死去的祖辈,后人们用大...
    丹青藏煌阅读 1,472评论 0 1

友情链接更多精彩内容