##1 概述
在Android5.x中,Google对动画效果进行了更深一步的诠释,为Activity的转场效果设计了更加丰富的动画效果。
Android5.x提供了三种Transition类型。
1、进入:一个进入的过渡(动画)决定activity中的所有的视图怎么进入屏幕。
2、退出:一个退出的过渡(动画)决定一个activity中的所有视图怎么退出屏幕。
3、共享元素:一个共享元素过渡(动画)决定两个activities之间的过渡,怎么共享(它们)的视图。
进入和退出的效果包括:
explode(分解) –进或出地移动视图,从屏幕中间
slide(滑动) -进或出地移动视图,从屏幕边缘
fade(淡出) –通过改变屏幕上视图的不透明度达到添加或者移除视图(的效果)
##2 使用步骤
###2.1 xml设置
当你定义继承了material主题样式时,使用Android:windowContentTransitions属性启用窗口的内容转换(效果)。你还可以指定进入、退出、和共享元素的转换:
<style name="myTheme" parent="android:Theme.Material">
<!-- 允许使用transitions -->
<item name="android:windowContentTransitions">true</item>
<!-- 指定进入和退出transitions -->
<item name="android:windowEnterTransition">@transition/explode</item>
<item name="android:windowExitTransition">@transition/explode</item>
<!-- 指定shared element transitions -->
<item name="android:windowSharedElementEnterTransition">
@transition/change_image_transform</item>
<item name="android:windowSharedElementExitTransition">
@transition/change_image_transform</item>
</style>
定义transition动画:
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<explode/>
<changeBounds/>
<changeTransform/>
<changeClipBounds/>
<changeImageTransform/>
changeBound 这个是最长使用的 改变View 大小和位置
changeClipBounds 改变 Clip 边界的大小
changeImageTransform 改变ImageView 的大小 和 martix
ChangeTransform 改变普通的 View 一些Scalex 值
ChangeScroll 改变滑动位置
</transitionSet>
###2.2 代码设置
####2.2.1 基本设置
ActivityA:
// 基本的startActivity(intent)方法
startA