设计的初衷:
在Android中会出现大量的界面效果,如果我们每个界面都去创建一个Activity的话,就需要在Android的AndroidManifest.xml里边注册大量的Activity,这样会导致看起来的会相当的冗杂。
一个Activity多个Fragment去构建一个App的整体架构,这样的好处多多,所以我们可以利用简单工厂设计模式搭建一个多Fragment公用同一个Activity,这样只需要注册一次Activity,而且使用Fragment做视图,组装更灵活,渲染更快,也可以统一修改加载动画。
实现方式:
1.创建一个FragmentID类,通过这个ID创建对应的Fragment实例
FragmentID2.创建一个Fragment实例生产工厂类,根据FragmentID生成对应的实例,该类有两个静态方法,分别创建无参数和有参数传递的Fragment实例,参数用Bundle来传递
FragmentFactory3.创建一个宿主Activity,该Activity同时又会有两个静态方法,分别来实现有参数和无参数Fragment的创建
FgtActivity根据bundle对象是否为null来调用FragmentFactory对应的方法。
4.页面展示的时候直接调用FgtActivity对应的静态方法即可。
MainActivity这样就可以实现同一个Activity管理多个Fragment的整体项目结构了,大家可以参考一下。
网友评论