Android基础动画学习
1.Tween Animation 变换动画
2.Frame Animation 帧动画
3.Layout Animation 布局动画
4.Property Animation 属性动画
==>>首先是变化动画
分为以下:
Alpha:渐变透明动画
Scale:渐变尺寸缩放动画
Translate:位置移动动画
Rotate:旋转动画
以上动画的共同属性有:
(1)Duration 动画持续时间
(2)fillAfter 设置为true的时候,动画转化在动画结束后被应用
(3)fillBefore 设置为true的时候,动画转化在动画开始前被应用
(4)interpolator 动画插入器(加速,减速插入器)
(5)repeatCount 动画重复次数
(6)repeatMode 顺序重复or倒序重复
(7)startOffset 动画之间的时间间隔
Animation的实现方式:
(1)配置文件(res/anim) ——alpha、scale、translate、rotate
(2)java代码实现 ——AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation
example代码实现:
//创建Alpha动画
AlphaAnimation alpha = new AlphaAnimation(0.1f,1.0f);
//设置动画时间
alpha.setDuration(5000);
//开始播放
img.startAnimation(alpha);
加载配置文件
//载入.xml动画文件
Animation scale = AnimationUtils.loadAnimation(TweenActivity.this,R.anim.scale_anim);
//开始动画
img.startAnimation(scale);
AlphaAnimation
(1)fromAlpha 动画起始时透明度 0.0表示完全透明
(2)toAlpha 动画终止时透明度 1.0表示完全不透明
ScaleAnimation
(1)fromX,toX 分别是起始和结束时x坐标上的伸缩尺寸
(2)fromY,toY 分别是起始和结束时y坐标上的伸缩尺寸
(3)pivotX,pivotY 分别为伸缩动画相对于x,y坐标开始的位置
TranslateAnimation
(1)fromXDelta,fromYDelta分别是起始时x,y的坐标
(2)toXDelta,toYDelta分别是结束时x,y的坐标
RotateAnimation
(1)fromDegrees 起始的角度
(2)toDegrees 终止的角度
(3)pivotX,pivotY分别为旋转动画相对于x,y的坐标开始位置
Animation集合
可以设置loadAnimation.setAnimationListener
三个方法
onAnimationStart
onAnimationRepeat
onAnimationEnd
在end之后再进行animation的添加
AnimationSet
可以在.xml文件中写
组合动画
Activity切换动画
使用overridePendingTransition方法
LayoutAnimation(布局动画)
为View Groups添加动画
使用LayoutAnimationController
LayoutAnimationController lac = new LayoutAnimationController(AnimationUtils.loadAnimation(this, R.anim.zoom_in));
lac.setOrder(LayoutAnimationController.ORDER_RANDOM);
listView.setLayoutAnimation(lac);
listView.startLayoutAnimation();
FrameAnimation 逐帧动画
使用animation-list标签来分组一个item标签集合
定义要显示的图片
指定显示它的时间(以毫秒为单位)
image.setBackgroundResource(R.drawable.anim_list);
AnimationDrawable frameAnimation = (AnimationDrawable)image.getBackground();
frameAnimation.start();
frameAnimation.stop();
// frameAnimation.setOneShot(false);
frameAnimation.isRunning();
1.Tween Animation 变换动画
2.Frame Animation 帧动画
3.Layout Animation 布局动画
4.Property Animation 属性动画
==>>首先是变化动画
分为以下:
Alpha:渐变透明动画
Scale:渐变尺寸缩放动画
Translate:位置移动动画
Rotate:旋转动画
以上动画的共同属性有:
(1)Duration 动画持续时间
(2)fillAfter 设置为true的时候,动画转化在动画结束后被应用
(3)fillBefore 设置为true的时候,动画转化在动画开始前被应用
(4)interpolator 动画插入器(加速,减速插入器)
(5)repeatCount 动画重复次数
(6)repeatMode 顺序重复or倒序重复
(7)startOffset 动画之间的时间间隔
Animation的实现方式:
(1)配置文件(res/anim) ——alpha、scale、translate、rotate
(2)java代码实现 ——AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation
example代码实现:
//创建Alpha动画
AlphaAnimation alpha = new AlphaAnimation(0.1f,1.0f);
//设置动画时间
alpha.setDuration(5000);
//开始播放
img.startAnimation(alpha);
加载配置文件
//载入.xml动画文件
Animation scale = AnimationUtils.loadAnimation(TweenActivity.this,R.anim.scale_anim);
//开始动画
img.startAnimation(scale);
AlphaAnimation
(1)fromAlpha 动画起始时透明度 0.0表示完全透明
(2)toAlpha 动画终止时透明度 1.0表示完全不透明
ScaleAnimation
(1)fromX,toX 分别是起始和结束时x坐标上的伸缩尺寸
(2)fromY,toY 分别是起始和结束时y坐标上的伸缩尺寸
(3)pivotX,pivotY 分别为伸缩动画相对于x,y坐标开始的位置
TranslateAnimation
(1)fromXDelta,fromYDelta分别是起始时x,y的坐标
(2)toXDelta,toYDelta分别是结束时x,y的坐标
RotateAnimation
(1)fromDegrees 起始的角度
(2)toDegrees 终止的角度
(3)pivotX,pivotY分别为旋转动画相对于x,y的坐标开始位置
Animation集合
可以设置loadAnimation.setAnimationListener
三个方法
onAnimationStart
onAnimationRepeat
onAnimationEnd
在end之后再进行animation的添加
AnimationSet
可以在.xml文件中写
组合动画
Activity切换动画
使用overridePendingTransition方法
LayoutAnimation(布局动画)
为View Groups添加动画
使用LayoutAnimationController
LayoutAnimationController lac = new LayoutAnimationController(AnimationUtils.loadAnimation(this, R.anim.zoom_in));
lac.setOrder(LayoutAnimationController.ORDER_RANDOM);
listView.setLayoutAnimation(lac);
listView.startLayoutAnimation();
FrameAnimation 逐帧动画
使用animation-list标签来分组一个item标签集合
定义要显示的图片
指定显示它的时间(以毫秒为单位)
image.setBackgroundResource(R.drawable.anim_list);
AnimationDrawable frameAnimation = (AnimationDrawable)image.getBackground();
frameAnimation.start();
frameAnimation.stop();
// frameAnimation.setOneShot(false);
frameAnimation.isRunning();