要想实现Shared Element Transition需要实现以下几点
·设置共享视图
在layout布局文件内,为需要实现该功能的View加上
android:transitionName=""
假设从活动A跳转到活动B,那么A、B需要共享的View都需要在布局文件内加上一样的名字
·启动活动
Bundle bundle= ActivityOptions.makeSceneTransitionAnimation(activity,
new Pair<View, String>(imageView,"img"),
new Pair<View, String>(textView,"txt")).toBundle();
startActivity(intent,bundle);
这样就OK了。
共享元素的过渡使用的是一个叫作"move"的内置过渡效果,如果有需要,可以自行设置.
不过这里还要补充一点,如果你只进行最简单的Shared Element Transition测试,你会发现,进入下一个活动会发
生闪烁,这是因为,Conten Transition与Shared Element Transition是同时发生的.
当你使用这种方式startActivity(),其中的exitTransition与enterTransition分别默认为
null和Fade
所以你只需要在ActivityB中进行setEnterTransition()设置就行了.