两步实现类似格瓦拉的转场动画

原文地址:http://immortalz.me/859.html 

嗯,真的是两步就可以实现了

一.概述

这是格瓦拉的转场动画效果。(安利一发:格瓦拉有时候搞活动电影票真便宜~APP效果也很酷炫)刚开始以为是Android5.0以上才有,后面用4.4的机子发现也有这种的效果。

wp-content-uploads-2016-10-20161030221939330-4-1-1.gif

下面是我简单的实现方法,真的只有两步

wp-content-uploads-2016-10-20161030222240498-4-1-1.gif

二.说明

之所有只有两步就实现了。 是因为我把这个动画效果封装了一下。

(封装并不是为了重复造库,只是因为我在写的一个小项目中的确用到了,所以才打算封装出来,方便以后自己使用)
这个是我在项目中使用的效果

wp-content-uploads-2016-10-20161030222916362-3-1-1.gif

三.使用方法

1.在Gradle中添加引用

dependencies {
    compile 'me.immortalz:transitionhelper:1.0.4'
}

2.在开始Activity中添加

TransitionsHeleper.startAcitivty((Activity) mContext, RvDetailActivity.class,
                        holder.itemView.findViewById(R.id.iv1),
                        imgUrl);

第一个参数 当前Activity
第二个参数 跳转的Activity
第三个参数 点击的View
第四个参数 传递的Imageview图片地址(可以为空)

3.在跳转到的Activity中添加

TransitionsHeleper.getInstance()
                .setShowMethod(new InflateShowMethod(this, R.layout.activity_rv_inflate) {
                    @Override
                    public void loadCopyView(InfoBean bean, ImageView copyView) {
                        Glide.with(RvDetailActivity.this)
                                .load(bean.getImgUrl())
                                .fitCenter()
                                .into(copyView);
                    }
                    @Override
                    public void loadTargetView(InfoBean bean, ImageView targetView) {
                        Glide.with(RvDetailActivity.this)
                                .load(bean.getImgUrl())
                                .fitCenter()
                                .into((ImageView) targetView);
                    }
                })
                .show(this, ivDetail);

因为每个人使用的图片加载库可能不同,所以在重写的loadCopyView和loadTargetView中使用自己项目中图片加载库加载即可。

最后就OK了 当然还有更多的姿势,大家可以自行去看我上传的项目地址。

https://github.com/ImmortalZ/TransitionHelper

  

四.下载

源码下载地址 https://github.com/ImmortalZ/TransitionHelper

如果觉得不错,欢迎star,fork。希望对这个项目感兴趣的朋友,欢迎一起完善

我的微博:

http://weibo.com/u/1956502961