com.android.egg,昕澤/egg-android-pda

Android%20Arsenal-Fragmentation-brightgreen.svg?style=flat

Fragmentation.svg?branch=master

download.svg

plug.svg

Fragmentation

A powerful library that manage Fragment for Android!

为"单Activity + 多Fragment","多模块Activity + 多Fragment"架构而生,简化开发,轻松解决动画、嵌套、事务相关等问题。

6f84adc0ad507a79f3014491f37bc7ce.png

为了更好的使用和了解该库,推荐阅读下面的文章:

Demo演示:

均为单Activity + 多Fragment,第一个为简单流式demo,第二个为仿微信交互的demo(全页面支持滑动退出),第三个为仿知乎交互的复杂嵌套demo

demo1.gif

demo2.gif

demo3.gif

特性

1、悬浮球/摇一摇实时查看Fragment的栈视图,降低开发难度

2、内部队列机制 解决Fragment多点触控、事务高频次提交异常等问题

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

4、类Android事件分发机制的Fragment BACK键机制:onBackPressedSupport()

5、提供onSupportVisible()、懒加载onLazyInitView()等生命周期方法,简化嵌套Fragment的开发过程

6、提供 Fragment转场动画 系列解决方案,动态改变动画

7、提供Activity作用域的EventBus辅助类,Fragment通信更简单、独立(需要使用EventBusActivityScope库)

8、

bedc08aa61cb139fa65665d33296236f.png

c0d10ba6df437ad6a4fb8cf34d1d5f67.png     

daa7f5125d4aa30910d53f8fd4aceced.png

如何使用

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

// appcompat-v7包是必须的

compile 'me.yokeyword:fragmentation:1.3.4'

// 如果不想继承SupportActivity/Fragment,自己定制Support,可仅依赖:

// compile 'me.yokeyword:fragmentation-core:1.3.4'

// 如果想使用SwipeBack 滑动边缘退出Fragment/Activity功能,完整的添加规则如下:

compile 'me.yokeyword:fragmentation:1.3.4'

// swipeback基于fragmentation, 如果是自定制SupportActivity/Fragment,则参照SwipeBackActivity/Fragment实现即可

compile 'me.yokeyword:fragmentation-swipeback:1.3.4'

// Activity作用域的EventBus,更安全,可有效避免after onSavenInstanceState()异常

compile 'me.yokeyword:eventbus-activity-scope:1.1.0'

// Your EventBus's version

compile 'org.greenrobot:eventbus:{version}'

2. Activity extends SupportActivity或者 implements ISupportActivity:(实现方式可参考MySupportActivity)

// v1.0.0开始,不强制继承SupportActivity,可使用接口+委托形式来实现自己的SupportActivity

public class MainActivity extends SupportActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(...);

// 建议在Application里初始化

Fragmentation.builder()

// 显示悬浮球 ; 其他Mode:SHAKE: 摇一摇唤出 NONE:隐藏

.stackViewMode(Fragmentation.BUBBLE)

.debug(BuildConfig.DEBUG)

... // 更多查看wiki或demo

.install();

if (findFragment(HomeFragment.class) == null) {

loadRootFragment(R.id.fl_container, HomeFragment.newInstance()); // 加载根Fragment

}

}

3. Fragment extends SupportFragment或者 implements ISupportFragment:(实现方式可参考MySupportFragment):

// v1.0.0开始,不强制继承SupportFragment,可使用接口+委托形式来实现自己的SupportFragment

public class HomeFragment extends SupportFragment {

private void xxx() {

// 启动新的Fragment, 另有start(fragment,SINGTASK)、startForResult、startWithPop等启动方法

start(DetailFragment.newInstance(HomeBean));

// ... 其他pop, find, 设置动画等等API, 请自行查看WIKI

}

}

LICENSE

Copyright 2016 YoKey

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Traceback (most recent call last): File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/wsgiserver.py", line 1228, in communicate File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/wsgiserver.py", line 589, in respond File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/wsgiserver.py", line 601, in _respond File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/build/env/lib/python2.7/site-packages/Django-1.11.29-py2.7.egg/django/core/handlers/wsgi.py", line 157, in __call__ File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/build/env/lib/python2.7/site-packages/Django-1.11.29-py2.7.egg/django/core/handlers/base.py", line 124, in get_response File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/build/env/lib/python2.7/site-packages/Django-1.11.29-py2.7.egg/django/core/handlers/exception.py", line 43, in inner File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/build/env/lib/python2.7/site-packages/Django-1.11.29-py2.7.egg/django/core/handlers/exception.py", line 93, in response_for_exception File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/build/env/lib/python2.7/site-packages/Django-1.11.29-py2.7.egg/django/core/handlers/exception.py", line 143, in handle_uncaught_exception File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/views.py", line 415, in serve_500_error File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/django_util.py", line 241, in render File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/django_util.py", line 154, in _render_to_response File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/django_mako.py", line 127, in render_to_response File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/django_mako.py", line 114, in render_to_string_normal File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/desktop/core/src/desktop/lib/django_mako.py", line 89, in get_template File "/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1046.30409922/lib/hue/build/env/lib/python2.7/site-packages/Mako-1.0.7-py2.7.egg/mako/lookup.py", line 261, in get_template TopLevelLookupException: Cant locate template for uri '500.mako'
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值