分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
android5.0之Activity过渡动画
Android5.0提供了3种Transition类型。
- 进入动画:一个进入的过渡动画决定一个Activity中的所有视图怎么进入屏幕。
- 退出动画:一个退出的过渡动画决定一个Activity中的所有视图怎么退出屏幕。
- 共享元素:一个共享元素过渡动画决定2个Activitys之间的过渡,怎么共享他们的视图。
其中进入和退出效果有:
- explode(分解):从屏幕中间进或出,移动视图。
- slide(滑动):从屏幕边缘进或出,移动试图。
- fade(淡出):通过改变屏幕上的视图的不透明度,达到添加或移除视图。
共享元素包括:
- changeBounds:改变目标视图的布局边界。
- changeClipBounds:裁剪目标视图边界。
- changeTransform:改变目标的缩放比例和旋转角度。
- changeImageTransform:改变目标图片的大小和缩放比例。
- overlay
效果图
![这里写图片描述](https://img-blog.csdn.net/20160618175151451)
过渡动画有2中实现方案,一种通过xml实现(全局),一种是通过代码实现,在此之前介绍介个方法
- setExitTransition() - 当A 跳转到 B时,使A中的View退出场景的transition
- setEnterTransition() - 当A 跳转到 B时,使B中的View进入场景的transition
- setReturnTransition() - 当B 返回到 A时,使B中的View退出场景的transition
- setReenterTransition() - 当B 返回到 A时,使A中的View进入场景的transition
A:进入和退出动画效果
一:xml实现
1.在style.xml中设置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.在res目录下,新建一个transition文件夹,创建xxx.xml文件(就是动画xml)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
3.跳转Activity页面代码(比较容易忘):
- 1
- 2
- 1
- 2
二:代码实现
1.在跳转Activity页面时,例如A页面跳转到B页面:
A页面关键代码:
- 1
- 2
- 1
- 2
B页面关键代码:代码需放在setContentView()之前,
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
两种实现方式,觉得还是xml好用,统一了页面进入和退出动画的风格,修改也比较方便
B:共享元素动画
- setSharedElementEnterTransition();A->B,B进入动画
- setSharedElementExitTransition();A->B,A退出动画
- setSharedElementReenterTransition();B->A,A进入动画
- setSharedElementReturnTransition();B->A,B退出动画
一:xml实现
1.在style.xml中
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2.xml动画(res/transition/xxx.xml)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
set动画中可以多种动画组合
3.跳转页面代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
二:代码实现:
1.页面跳转代码与xml实现相同
- ChangeBounds -捕获共享元素的layout bound,然后播放layout bound变化动画。ChangeBounds 是共享元素变换中用的最多的,因为前后两个activity中共享元素的大小和位置一般都是不同的。
- ChangeTransform - 捕获共享元素的缩放(scale)与旋转(rotation)属性 ,然后播放缩放(scale)与旋转(rotation)属性变化动画。
- ChangeClipBounds - 捕获共享元素clip bounds,然后播放clip bounds变化动画。
- ChangeImageTransform - 捕获共享元素(ImageView)的transform matrices 属性,然后播放ImageViewtransform matrices 属性变化动画。与ChangeBounds相结合,这个变换可以让ImageView在动画中高效实现大小,形状或者ImageView.ScaleType 属性平滑过度。
区别需要多试才知道
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
overlay效果
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
![](http://static.blog.csdn.net/images/category_icon.jpg)
版权声明:本文为博主原创文章,未经博主允许不得转载。
android5.0之Activity过渡动画
Android5.0提供了3种Transition类型。
- 进入动画:一个进入的过渡动画决定一个Activity中的所有视图怎么进入屏幕。
- 退出动画:一个退出的过渡动画决定一个Activity中的所有视图怎么退出屏幕。
- 共享元素:一个共享元素过渡动画决定2个Activitys之间的过渡,怎么共享他们的视图。
其中进入和退出效果有:
- explode(分解):从屏幕中间进或出,移动视图。
- slide(滑动):从屏幕边缘进或出,移动试图。
- fade(淡出):通过改变屏幕上的视图的不透明度,达到添加或移除视图。
共享元素包括:
- changeBounds:改变目标视图的布局边界。
- changeClipBounds:裁剪目标视图边界。
- changeTransform:改变目标的缩放比例和旋转角度。
- changeImageTransform:改变目标图片的大小和缩放比例。
- overlay
效果图
过渡动画有2中实现方案,一种通过xml实现(全局),一种是通过代码实现,在此之前介绍介个方法
- setExitTransition() - 当A 跳转到 B时,使A中的View退出场景的transition
- setEnterTransition() - 当A 跳转到 B时,使B中的View进入场景的transition
- setReturnTransition() - 当B 返回到 A时,使B中的View退出场景的transition
- setReenterTransition() - 当B 返回到 A时,使A中的View进入场景的transition
A:进入和退出动画效果
一:xml实现
1.在style.xml中设置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.在res目录下,新建一个transition文件夹,创建xxx.xml文件(就是动画xml)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
3.跳转Activity页面代码(比较容易忘):
- 1
- 2
- 1
- 2
二:代码实现
1.在跳转Activity页面时,例如A页面跳转到B页面:
A页面关键代码:
- 1
- 2
- 1
- 2
B页面关键代码:代码需放在setContentView()之前,
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
两种实现方式,觉得还是xml好用,统一了页面进入和退出动画的风格,修改也比较方便
B:共享元素动画
- setSharedElementEnterTransition();A->B,B进入动画
- setSharedElementExitTransition();A->B,A退出动画
- setSharedElementReenterTransition();B->A,A进入动画
- setSharedElementReturnTransition();B->A,B退出动画
一:xml实现
1.在style.xml中
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2.xml动画(res/transition/xxx.xml)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
set动画中可以多种动画组合
3.跳转页面代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
二:代码实现:
1.页面跳转代码与xml实现相同
- ChangeBounds -捕获共享元素的layout bound,然后播放layout bound变化动画。ChangeBounds 是共享元素变换中用的最多的,因为前后两个activity中共享元素的大小和位置一般都是不同的。
- ChangeTransform - 捕获共享元素的缩放(scale)与旋转(rotation)属性 ,然后播放缩放(scale)与旋转(rotation)属性变化动画。
- ChangeClipBounds - 捕获共享元素clip bounds,然后播放clip bounds变化动画。
- ChangeImageTransform - 捕获共享元素(ImageView)的transform matrices 属性,然后播放ImageViewtransform matrices 属性变化动画。与ChangeBounds相结合,这个变换可以让ImageView在动画中高效实现大小,形状或者ImageView.ScaleType 属性平滑过度。
区别需要多试才知道
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
overlay效果
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4