Android Animation
来源:互联网 发布:oracle导入数据 编辑:程序博客网 时间:2024/04/30 03:48
本文利用java定义集中动画
AlphaAnimation 渐变透明度动画效果
ScaleAnimation 渐变尺寸伸缩动画效果
TranslateAnimation 画面转换位置移动动画效果
RotateAnimation画面转移旋转动画效果
1 AlphaAnimation
/** * Constructor to use when building an AlphaAnimation from code * * @param fromAlpha Starting alpha value for the animation, where 1.0 means * fully opaque and 0.0 means fully transparent. * @param toAlpha Ending alpha value for the animation. */public AlphaAnimation(float fromAlpha, float toAlpha) { }
//创建一个AlphaAnimation对象,参数从完全不透明,到完全透明alphaAnimation=new AlphaAnimation(1.0f,0.0f);
2 ScaleAnimation
/** * Constructor to use when building a ScaleAnimation from code * * @param fromX Horizontal scaling factor to apply at the start of the * animation * @param toX Horizontal scaling factor to apply at the end of the animation * @param fromY Vertical scaling factor to apply at the start of the * animation * @param toY Vertical scaling factor to apply at the end of the animation * @param pivotXType Specifies how pivotXValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param pivotXValue The X coordinate of the point about which the object * is being scaled, specified as an absolute number where 0 is the * left edge. (This point remains fixed while the object changes * size.) This value can either be an absolute number if pivotXType * is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise. * @param pivotYType Specifies how pivotYValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param pivotYValue The Y coordinate of the point about which the object * is being scaled, specified as an absolute number where 0 is the * top edge. (This point remains fixed while the object changes * size.) This value can either be an absolute number if pivotYType * is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise. */public ScaleAnimation(float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) { }
public ScaleAnimation(float fromX, float toX, float fromY, float toY, float pivotX, float pivotY) { }
public ScaleAnimation(float fromX, float toX, float fromY, float toY) { }
//第一个参数fromX为动画起始时 X坐标上的伸缩尺寸//第二个参数toX为动画结束时 X坐标上的伸缩尺寸//第三个参数fromY为动画起始时Y坐标上的伸缩尺寸//第四个参数toY为动画结束时Y坐标上的伸缩尺寸/*说明: 以上四种属性值 0.0表示收缩到没有 1.0表示正常无伸缩 值小于1.0表示收缩 值大于1.0表示放大*///第五个参数pivotXType为动画在X轴相对于物件位置类型//第六个参数pivotXValue为动画相对于物件的X坐标的开始位置//第七个参数pivotXType为动画在Y轴相对于物件位置类型
//第八个参数pivotYValue为动画相对于物件的Y坐标的开始位置
如果没有5、7 个参数默认就是Animation.RELATIVE_TO_SELF
scaleAnimation=new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
3 TranslateAnimation
/** * Constructor to use when building a TranslateAnimation from code * * @param fromXType Specifies how fromXValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param fromXValue Change in X coordinate to apply at the start of the * animation. This value can either be an absolute number if fromXType * is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise. * @param toXType Specifies how toXValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param toXValue Change in X coordinate to apply at the end of the * animation. This value can either be an absolute number if toXType * is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise. * @param fromYType Specifies how fromYValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param fromYValue Change in Y coordinate to apply at the start of the * animation. This value can either be an absolute number if fromYType * is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise. * @param toYType Specifies how toYValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param toYValue Change in Y coordinate to apply at the end of the * animation. This value can either be an absolute number if toYType * is ABSOLUTE, or a percentage (where 1.0 is 100%) otherwise. */public TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue) {}
public TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta) { }
//参数1~2:x轴的开始位置//参数3~4:y轴的开始位置//参数5~6:x轴的结束位置//参数7~8:x轴的结束位置translateAnimation = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF, 0.5f);
4 RotateAnimation
/** * Constructor to use when building a RotateAnimation from code * * @param fromDegrees Rotation offset to apply at the start of the * animation. * * @param toDegrees Rotation offset to apply at the end of the animation. * * @param pivotXType Specifies how pivotXValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param pivotXValue The X coordinate of the point about which the object * is being rotated, specified as an absolute number where 0 is the * left edge. This value can either be an absolute number if * pivotXType is ABSOLUTE, or a percentage (where 1.0 is 100%) * otherwise. * @param pivotYType Specifies how pivotYValue should be interpreted. One of * Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or * Animation.RELATIVE_TO_PARENT. * @param pivotYValue The Y coordinate of the point about which the object * is being rotated, specified as an absolute number where 0 is the * top edge. This value can either be an absolute number if * pivotYType is ABSOLUTE, or a percentage (where 1.0 is 100%) * otherwise. */public RotateAnimation(float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue) { }
public RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY) { }
public RotateAnimation(float fromDegrees, float toDegrees) { }
少几个参数的都是默认相对于自身的//参数1:从哪个旋转角度开始//参数2:转到什么角度//后面的4个参数用于设置围绕着旋转的圆的圆心在哪里//参数3:确定x轴坐标的类型,有ABSOLUT绝对坐标、RELATIVE_TO_SELF相对于自身坐标、RELATIVE_TO_PARENT相对于父控件的坐标//参数4:x轴的值,0.5f表明是以自身这个控件的一半长度为x轴//参数5:确定y轴坐标的类型//参数6:y轴的值,0.5f表明是以自身这个控件的一半长度为x轴rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
5 AnimationSet
//true表示使用Animation的interpolator,false则是使用自己的
animationSet = new AnimationSet(true);
使用AnimationSet可以添加多种动画一次性执行
animationSet.addAnimation(scaleAnimation);
view.startAnimation(animationSet);
6 动画常用方法
1、setDuration(long durationMills) 设置动画持续时间(单位:毫秒) 2、setFillAfter(Boolean fillAfter) 如果fillAfter的值为true,则动画执行后,控件将停留在执行结束的状态 3、setFillBefore(Boolean fillBefore) 如果fillBefore的值为true,则动画执行后,控件将回到动画执行之前的状态 4、setStartOffSet(long startOffSet) 设置动画执行之前的等待时间 5、setRepeatCount(int repeatCount) 设置动画重复执行的次数
7 动画的速度 Interpolator可以定义动画播放的速度
Interpolator定义了动画变化的速率,在Animations框架当中定义了一下几种Interpolator
AccelerateDecelerateInterpolator:在动画开始与结束的地方速率改变比较慢,在中间的时候速率快。
AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速
CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始减速
LinearInterpolator:动画以均匀的速率改变
scaleAnimation.setInterpolator(new AccelerateInterpolator());
0 0
- Android -animation-Property Animation
- Android-animation-View Animation
- Android-animation-drawable Animation
- android animation
- Android Animation
- android animation
- android Animation
- Animation Android
- Android Animation
- android animation
- android animation
- android animation
- Android Animation
- Android--Animation
- android animation
- android animation
- android Animation
- Android Animation
- EJB 通过ANT卸载发布项目时 BUILD FAILED
- 使用NLPIR汉语分词系统进行分词
- Spring MVC入门
- mysqldump
- springMVC
- Android Animation
- JavaScript闭包
- linux网络配置介绍
- Android之Keystore文件签名(获取查看apk签名)
- 《第一个程序》记UDP Sender 2.0
- java 中的constructor
- 解决Connections could not be acquired from the underlying database!的问题
- 【OK6410裸机程序】点亮LED
- 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用