步骤:
设置Window Content Transition属性
<style name="MaterialAnimations" parent="@style/Theme.AppCompat.Light.NoActionBar">
...
<item name="android:windowContentTransitions">true</item
...
</style>
设置相同的transition name
为了使共享元素动画生效,你需要给共享元素的两个View设置相同的android:transitionName
属性值。不过他们的id和其他属性可以不同。
用共享元素来启动activity
使用ActivityOptions.makeSceneTransitionAnimation()
方法指定要共享元素的View和
android:transitionName
属性的值
启动带有共享元素的Fragment
getFragmentManager().beginTransaction() .replace(R.id.content, fragmentB) .addSharedElement(blueView, getString(R.string.blue_name)) .commit();
注意:如果是图像,一定不要用 <shape>去画,而要用png,jpg,svg这样的,才可以有效果。