zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java web项目打包.war格式
    version 1.4.2-04 of the jvm is not suitable for thi
    Sugarcrm Email Integration
    sharepoint 2010 masterpage中必须的Content PlaceHolder
    微信开放平台
    Plan for caching and performance in SharePoint Server 2013
    使用自定义任务审批字段创建 SharePoint 顺序工作流
    Technical diagrams for SharePoint 2013
    To get TaskID's Integer ID value from the GUID in SharePoint workflow
    how to get sharepoint lookup value
  • 原文地址:https://www.cnblogs.com/shaweng/p/2541258.html
Copyright © 2011-2022 走看看