Android之特效动画:共享元素转场

1.效果(略)

如果没有共享的元素,普通跳转就可以了,一般startActivity后加入一些自定义动画就行。

overridePendingTransition

2.说明

android中Activity之间的跳转,或者Fragment和Activity之间 的跳转等,如果存在内容一样的,例如点击一个带缩略图及标题列表跳转到详情页,就会存在列表中的 缩略图和标题 与 详情页面的图片和标题 是两个界面共有的,则跳转的时候可以考虑使用共享元素转场动画。

3.使用步骤

一,给需要共享的元素设置标志

动态设置:

ViewCompat.setTransitionName(sourceView,"your_tag");

或xml中静态设置:

android:transitionName="your_tag"

二,构建需要传递的共享元素的Options

a.单元素共享

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, shareView, "your_tag");

b.多元素共享

ActivityOptionsCompat options = ActivityOptionsCompat
        .makeSceneTransitionAnimation(activity,
                new Pair<View,String>(shareView1,"your_tag1"),
                new Pair<View,String>(shareView2,"your_tag2")

 

三,跳转

activity.startActivity(intent,options.toBundle());

4.恐固记忆

一,关键词记忆法:ViewCompat.setTransitionName , ActivityOptionCompat

二,场景记忆法:A跳转到B,通常是startActivity(intent),但发现这个方法还有个重载的方法startActivity(intent,bundleOptions),

于是通过ActivityOptionsCompat封装了一个bundleOptions传给它,A和B界面怎么知道哪几个元素是共享的呢,这就需要给这些共享元素设置一个标识这里是TransitionName,可以通过xml中设置,也可以直接通过ViewCompat.setTransition(View,transitionName)代码动态设置。

tips: 跳转前后需要显示相同内容的的两个View的transitionName必须相同,设置的内容也应相同!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值