• Android动画:Animation介绍


    简介

             Animations是一系列的动画效果,这些效果可以运用在绝大数控件上面。

             Animations总的说来可以分为两类:

             Tweened Animations:包括

             Alpha:淡入淡出效果

             Scale:缩放效果

             Rotate:旋转效果

             Translate:移动效果

             Frame-by-Frame Animations:这个可以创建一个Drawable序列,可以一个一个的显示。

    动画的公共函数

             setDuration(float time)动画执行时间;

             setFillAfter(boolean b)是否保持动画结束时状态;

             setFillBefore(boolean b)是否返回动画开始状态,当动画结束后;

             setStartOffset(long time)经过多少时间动画开始执行;

             setRepeatCount(int i)动画重复次数(默认为0)。

    TranslateAnimation类:位置变化动画类

             TranslateAnimation类是Android系统中的位置变化动画类,用于控制View对象的位置变化,该类继承于Animation类。TranslateAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是TranslateAnimation构造方法。

    【基本语法】public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)

             参数说明

             fromXDelta:位置变化的起始点X坐标。

             toXDelta:位置变化的结束点X坐标。

             fromYDelta:位置变化的起始点Y坐标。

             toYDelta:位置变化的结束点Y坐标。

     这里给出一个从外部滑入屏幕的例子:

     

    移动进入:

    TranslateAnimation topEnter = new TranslateAnimation(0f, 0f, -H, 0);

    TranslateAnimation bottomEnter = new TranslateAnimation(0f, 0f, H, 0);

    TranslateAnimation leftEnter = new TranslateAnimation(-H, 0f, 0f, 0);

    TranslateAnimation rightEnter = new TranslateAnimation(H, 0f, 0f, 0);

    移动退出:

    TranslateAnimation topExit = new TranslateAnimation(0f, 0f, 0f, -H);

    TranslateAnimation bottomExit = new TranslateAnimation(0f, 0f, 0f, H);

    TranslateAnimation leftExit = new TranslateAnimation(0f, -H, 0f, 0f);

    TranslateAnimation rightExit = new TranslateAnimation(0f, H, 0f, 0f);

    RotateAnimation类

             RotateAnimation类是Android系统中的旋转变化动画类,用于控制View对象的旋转动作,该类继承于Animation类。RotateAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是RotateAnimation构造方法。

    【基本语法】public RotateAnimation (float fromDegrees, float toDegrees, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

             参数说明

             fromDegrees:旋转的开始角度。

             toDegrees:旋转的结束角度。

             pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、        RELATIVE_TO_PARENT。

             pivotXValue:X坐标的伸缩值。

             pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。

             pivotYValue:Y坐标的伸缩值。

             注意:旋转表示一个控件绕着一个点做旋转(平面旋转)。这个旋转是围绕一个点,而这个点是由百分比决定的,比如相对于自身时x为0.5,y为0.5,那么这个点就是该控件的中心;如果x为1,y为1,那么这个点就是控件的右下角;相对父控件时x为0.5,y为0.5,那么这个点就是该父控件的中心。

             围绕控件中心旋转的方法:(旋转的控件布局要是一个正方形,即比较严格对称的)

    RotateAnimation  rotateAnimation = new RotateAnimation(0, 180,

    Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);

    ScaleAnimation类:尺寸变化动画类

             ScaleAnimation类是Android系统中的尺寸变化动画类,用于控制View对象的尺寸变化,该类继承于Animation类。ScaleAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是ScaleAnimation构造方法。

    【基本语法】public ScaleAnimation (float fromX, float toX, float fromY, float toY, int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

             参数说明:

             fromX:起始X坐标上的伸缩尺寸。

             toX:结束X坐标上的伸缩尺寸。

             fromY:起始Y坐标上的伸缩尺寸。

             toY:结束Y坐标上的伸缩尺寸。

             pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、        RELATIVE_TO_PARENT。

             pivotXValue:X坐标的伸缩值。

             pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。

             pivotYValue:Y坐标的伸缩值。

    AlphaAnimation类:透明度变化动画类

             AlphaAnimation类是Android系统中的透明度变化动画类,用于控制View对象的透明度变化,该类继承于Animation类。AlphaAnimation类中的很多方法都与Animation类一致,该类中最常用的方法便是AlphaAnimation构造方法。

    【基本语法】public AlphaAnimation (float fromAlpha, float toAlpha)

             参数说明

             fromAlpha:开始时刻的透明度,取值范围0~1。

             toAlpha:结束时刻的透明度,取值范围0~1。

    AnimationSet类:动画集合类

             AnimationSet类是Android系统中的动画集合类,用于控制View对象进行多个动作的组合,该类继承于Animation类。AnimationSet类中的很多方法都与Animation类一致,该类中最常用的方法便是addAnimation方法,该方法用于为动画集合对象添加动画对象。

    AnimationDrawable类:帧动画类

             AnimationDrawable类是Android系统中的帧动画类。帧动画方式类似于放电影的原理,是通过顺序播放多张图片来实现动画效果的,图片之间有一定的动作连贯性,这样人眼看来就像对象真正在运动一样。

    AnimationUtils类:动画工具类

             AnimationUtils类是Android系统中的动画工具类,提供了控制View对象的一些工具。该类中最常用的方法便是loadAnimation方法,该方法用于加载XML格式的动画配置文件。在Android系统中,除了在代码中设置动画效果外,还可以在XML配置文件中设置动画的组合动作,这种方式适用性更好。

    总结:

    动画技术能够给应用程序带来丰富的特效,增强用户体验。Android系统提供了两种动画实现方式,补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画可以对View对象进行简单的移动、旋转、缩放和渐变等效果,帧动画则提供了传统的逐帧播放图片的动画方式。本章主要介绍了补间动画类和帧动画类中的主要动画编程方法。

    部分内容摘自:http://book.51cto.com/art/201204/328294.htm

  • 相关阅读:
    JavaScript入门篇 编程练习
    JavaScript入门篇 第三天(认识DOM)
    JavaScript入门篇 第二天(消息对话框+网页弹出)
    JavaScript入门篇 第一天
    网页布局基础 第四次
    本内容中发现无效字符。处理资源 'file:///C:/Users/XDJ/Desktop/1111/press.xml' 时出错。第 5 行,位置: 11 <author>ƽ
    jquery中的each用法以及js中的each方法实现实例
    jQuery获取页面及个元素高度、宽度
    js正则函数match、exec、test、search、replace、split使用介绍集合
    javascript中window.open()与window.location.href的区别
  • 原文地址:https://www.cnblogs.com/shaweng/p/2541258.html
Copyright © 2020-2023  润新知