源码地址:Github,欢迎Star,Fork。

Demo网盘下载(V_0.7.13)
Demo演示:
单Activity + 多Fragment,项目中有3个Demo。

流式的单Activity+多Fragment:

流式的单Activity+多Fragment

类似微信交互方式的单Activity+多Fragment:(全页面支持滑动返回)

类似微信交互方式的单Activity+多Fragment

类似新版仿知乎交互方式的单Activity+多Frgment:

类似新版仿知乎交互方式的单Activity+多Frgment

Fragmentation

为"单Activity + 多Fragment的架构","多模块Activity + 多Fragment的架构"而生,帮你简化使用过程,轻松解决各种复杂嵌套等问题,修复了官方Fragment库存在的一些BUG。

 

特性

1、有效解决各种复杂嵌套、同级等Fragment重叠问题

2、实时查看Fragment的(包括嵌套Fragment)栈视图的对话框和Log,方便调试

3、增加启动模式、startForResult等类似Activity的方法

4、类似Android事件分发机制的Fragment回退方法:onBackPressedSupport(),轻松为每个Fragment实现Back按键事件

5、完美的防抖动解决方案(防止用户点击速度过快,导致启动多个Fragment)

6、提供可轻松 设定Fragment转场动画 的解决方案

7、修复官方库里pop(tag/id)出栈多个Fragment时的一些BUG

8、支持SwipeBack滑动边缘退出(需要使用Fragmentation_SwipeBack库,详情README)

通过logFragmentStackHierarchy(TAG)查看Log

重大更新日志

0.7.X 来了!!!

1、2个新demo: 仿知乎交互 + 仿微信交互的新Demo,展示复杂嵌套Fragment的交互场景

2、全新的Fragment恢复机制

3、更容易编写各种嵌套Fragment的代码

4、支持同级Fragment的处理

5、实验性支持SharedElement-Material过渡动画

6、全新的类似Android事件分发机制的onBackPressedSupport()

如何使用

1. 项目下app的build.gradle中依赖:

// appcompat v7包是必须的
compile 'me.yokeyword:fragmentation:0.7.12'
// 如果想使用SwipeBack 滑动边缘退出Fragment/Activity功能,请再添加下面的库
// compile 'me.yokeyword:fragmentation-swipeback:0.7.9'

2. Activity继承SupportActivity:

public class MainActivity extends SupportActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(...);
        if (savedInstanceState == null) {
            loadRootFragment(R.id.fl_container, HomeFragment.newInstance());
        }
    }

3. Fragment继承SupportFragment:

public class HomeFragment extends SupportFragment {

    private void xxx() {
        // 启动新的Fragment, 同时还有start(fragment,SINGTASK)、startForResult、startWithPop等启动方法
        start(DetailFragment.newInstance(HomeBean));
        // ... 其他方法请自行查看 API
    }

进一步使用,查看wiki

文/YoKey(简书作者)
原文链接:http://www.jianshu.com/p/38f7994faa6b
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

Fragment全解析系列(三):Fragment之我的解决方案:Fragmentation的更多相关文章

  1. Fragment全解析系列

    (一):那些年踩过的坑 开始之前 最新版知乎,单Activity多Fragment的架构,响应可以说非常“丝滑”,非要说缺点的话,就是没有转场动画,并且转场会有类似闪屏现象.我猜测可能和Fragmen ...

  2. Fragment全解析系列(二):正确的使用姿势

    作为一个稳定的app,从后台且回到前台,一定会在任何情况都能恢复到离开前的页面,并且保证数据的完整性. 如果你没看过本系列的第一篇,为了方便后面文章的介绍,先规定一个"术语",安卓 ...

  3. Fragment全解析系列(一):那些年踩过的坑

    开始之前 最新版知乎,单Activity多Fragment的架构,响应可以说非常"丝滑",非要说缺点的话,就是没有转场动画,并且转场会有类似闪屏现象.我猜测可能和Fragment转 ...

  4. 【转载】Fragment 全解析(1):那些年踩过的坑

    http://www.jianshu.com/p/d9143a92ad94 Fragment系列文章:1.Fragment全解析系列(一):那些年踩过的坑2.Fragment全解析系列(二):正确的使 ...

  5. PHP 类与对象 全解析(三)

    目录 PHP 类与对象 全解析( 一) PHP 类与对象 全解析( 二) PHP 类与对象 全解析(三 ) 13.魔术方法 定义:PHP把所有以__(两个下划线)开头的类方法当成魔术方法     __ ...

  6. java基础解析系列(三)---HashMap

    java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

  7. ETL利器Kettle实战应用解析系列三

    本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析系列二 [应用场景和实战DEMO下载] 三.ETL利器Kettle ...

  8. Android图片加载框架最全解析(三),深入探究Glide的缓存机制

    在本系列的上一篇文章中,我带着大家一起阅读了一遍Glide的源码,初步了解了这个强大的图片加载框架的基本执行流程. 不过,上一篇文章只能说是比较粗略地阅读了Glide整个执行流程方面的源码,搞明白了G ...

  9. Java事务处理全解析(三)——丑陋的案例

    在本系列的上一篇文章中,我们看到了一个典型的事务处理失败的案例,其主要原因在于,service层和各个DAO所使用的Connection是不一样的,而JDBC中事务处理的作用对象正是Connectio ...

随机推荐

  1. Centos6 换源

    #主要是为了提高安装速度以及epel中自带源众多木有的软件. #Author wood_man #2016.06.01 v 2.0 1. 测试环境 VMware 10.0    CentOS rele ...

  2. python之面向对象编程

    1.面向对象介绍: 世界万物,皆可分类 世界万物,皆为对象 只要是对象,就肯定属于某种类 只要是对象,就肯定有属性 2. 面向对象的几个特性: class类: 一个类即对一类拥有相同属性的对象的抽象, ...

  3. 基于C#和Asp.NET MVC开发GPS部标监控平台

    基于交通部796标准开发部标监控平台,选择开发语言和技术也是团队要思考的因素,其实这由团队自己擅长的技术来决定,如果擅长C#和Asp.NET, 当然开发效率就高很多.当然了技术选型一定要选用当前主流的 ...

  4. linux上监控tomcat down掉后自动重启tomcat

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...

  5. Webform Application、ViewState

    Application(全局对象) Application对象生存期和Web应用程序生存期一样长,生存期从Web应用程序网页被访问开始,HttpApplication类对象Application被自动 ...

  6. iOS设置cell选中时文字颜色的变化

    cell.titleStr.highlightedTextColor = EMCGreenColor;

  7. css名词解释

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Responsive设计——不同设备的分辨率设置

    下面我们一起来看看CSS3 Meida Queries在标准设备上的运用,大家可以把这些样式加到你的样式文件中,或者单独创建一个名为“responsive.css”文件,并在相应的条件中写上你的样式, ...

  9. web后端 文件上传

    需要Commons-fileupload和commons-io两个jar包.可搜索apache commons下载 jar复制在项目下的web->WEB-INF->lib下    复制在a ...

  10. Java中Comparable和Comparator接口区别分析

    Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comp ...