`
zsnlovewl
  • 浏览: 173123 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

animation知识学习

阅读更多

LinearInterpolator


变化率是个常数,即 f (x) = x.

方法:public float getInterpolation(float input)

AccelerateInterpolator--开始变化很慢,然后逐渐变快,即 f(x) = x*x 或者 f(x) = pow(x, 2*mFactor).

方法:public float getInterpolation(float input)

AccelerateDecelerateInterpolator--变化率开始和结束都很慢,但中间很快,即 f(x) = (cos ((x+1)*PI) / 2.0f) + 0.5f.

方法:public float getInterpolation(float input)

LinearInerpolator、AccelerateInterpolator, DecelerateInterpolator, AccelerateDecelerateInterpolator,CycleInterpolator 是 Interpolator 的子类,分别实现了匀速、加速、减速、变速、循环等效果。

AlphaAnimation

控制透明度

构造函数:

@param开始的透明度

@param结束的透明度

AlphaAnimation(float fromAlpha, float toAlpha)

方法:

willChangeBounds()                                     具体不详,不过其返回值是固定的都是false

willChangeTransformationMatrix()         false

ScaleAnimation

控制尺寸

构造函数:

@param开始时x方向的伸缩比列

@param结束时x方向的伸缩比列

@param开始时y方向的伸缩比列

@param结束时y方向的伸缩比列

ScaleAnimation(float fromX, float toX, float fromY, float toY)

@param动画在x轴的伸缩位置0%-100%中取值,50%为物件的X或Y方向坐标上的中点位置

@param动画在y轴的伸缩位置

ScaleAnimation(float fromX, float toX, float fromY, float toY, float pivotX, float pivotY)

@param  pivotXType动画在X轴相对于物件位置类型--固定的一些数据

@param  pivotYType动画在X轴相对于物件位置类型

pivotXValue,pivotYValue同上面的pivotX,pivotY

ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

方法:

     initialize(int width, int height, int parentWidth, int parentHeight)设置动画的大小根据父类的维数(猜测)

TranslateAnimation

移动

构造函数:

@param开始时x的位置

@param结束时x的位置

@param开始时y的位置

@param结束时y的位置

TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)

@param参考上面ScaleAnimation的

TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue,int fromYType, float fromYValue, int toYType, float toYValue)

方法:

@param同ScaleAnimation的

initialize(int width, int height, int parentWidth, int parentHeight)

RotateAnimation

旋转

构造函数:

@param开始的角度

@param结束的角度

RotateAnimation(float fromDegrees, float toDegrees)

@param动画在x轴的旋转位置

@param动画在x轴的旋转位置

RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY)

方法:

@param同ScaleAnimation的

         initialize(int width, int height, int parentWidth, int parentHeight)

Animation

抽象类,所有控制动画的都继承与该类

Aniamtion 是基类,他记录了动画的通用属性和方法。主要的属性包括动画持续时间、重复次数、interpolator等。

方法:---只列举了几个方法,用法很简单,可以去看sdk

getTransformation (currentTime, outTransformation)

该方法根据当前时间 (currentTime) 和 interpolator,计算当前的变换,在 outTransformation 中返回。

setRepeatMode(int)—在测试AnimationSet是该函数没有成功,可能有什么地方设置错了,以后再跟进

@param Animation.RESTART回到动作开始时的坐标,Animation.REVERSE反转的意思,a->b,在从b->a,Animation.INFINITE不断重复该动作

设置动作结束后,将怎样处理,只有在repeatCount大于0或为INFINITE的时候setRepeatMode才会生效

TranslateAnimation、RotateAnimation、AlphaAnimation、ScaleAnimation等是Animation的子类,分别实现了平移、旋转、改变透明度、缩放等动画。

AnimationSet

设置一个动画组,就是将一系列动作合在一起形成新的动画

可以包含多个Animation,但都是在同一个时间执行的,是并行,不是串行执行的。如果AnimationSet中有一些设定,如duration,fillBefore等,它包含的子动作也设定了的话,子动作中的设定将会给覆盖掉。

构造函数:

     @param是否公用动画插入器,为true表示共用AnimationSet的插入器

AnimationSet(boolean shareInterpolator)

方法:==

     @param为true时将在播放完后被应用,播完后停在最后一幅画上,这里重写了Animation的该方法,其他的基本上都是直接使用父类的

     setFillAfter(boolean fillAfter)

@param为true时将在开始前被应用,播完后停在第一幅画上,好像不设置该属性也会停留在最开始的那副上面

setFillBefore(boolean fillBefore)

@param在使用AnimationSet的重复mode时,还没有看到有什么效果,但是它的解释和Animation的该方法是一样的

setRepeatMode(int repeatMode)

@param动画停留时间间隔,从上次结束后停留多长时间进入下一次动画

setStartOffset(long startOffset)

@param添加动画

addAnimation(Animation a)

Example

AnimationSet aa = new AnimationSet(true);

    Animation myAnimaton = new TranslateAnimation(0,100,0,100); 

    aa.addAnimation(myAnimaton);

    Animation myAnimaton1 = new RotateAnimation(0,360);

    aa.addAnimation(myAnimaton1);

    myImage.startAnimation(aa);

    aa.start();

    aa.setDuration(2000);

aa.setFillAfter(true);

AnimationUtils

该类没有父类,动画的辅助类.构造函数也没有,使用默认的

方法:

@param可以看到不需要实例化该对象就可以使用,通过资源xml获得一个动画

static Animation loadAnimation(Context context, int id)

TranslateAnimation manmation = (TranslateAnimation)AnimationUtils. loadAnimation(this,R.anim.animation);

@param

LayoutAnimationController loadLayoutAnimation(Context context, int id)

LayoutAnimationController

Layout animation controller is used to animated a layout's, or a view group's, children.

该类和其衍生类GridLayoutAnimationController,GridLayoutAnimationController.AnimationParameters等还没有看到相关资料,也没有用过

Animation.Description

Utility class to parse a string description of a size. 

GridLayoutAnimationController

A layout animation controller is used to animated a grid layout's children.

GridLayoutAnimationController.AnimationParameters

The set of parameters that has to be attached to each view contained in the view group animated by the grid layout animation controller.

LayoutAnimationController.AnimationParameters

The set of parameters that has to be attached to each view contained in the view group animated by the layout animation controller.

Transformation                                                                      

Defines the transformation to be applied at one point in time of an Animation.

在xml文件中设置动画可以参考android_xml文件中介绍的,有实例解释

 

AlphaAnimation
 渐变透明度动画效果
 
ScaleAnimation
 渐变尺寸伸缩动画效果
 
TranslateAnimation
 画面转换位置移动动画效果
 
RotateAnimation
 画面转移旋转动画效果
 

transition设置两张图片的过渡,好像只能设置两张之间的过渡,多设置几张也只显示前面两张

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lishubing1126/archive/2009/12/02/4926770.aspx

分享到:
评论

相关推荐

    谈谈iOS Animation

    我们学习⼀一个知识的时候⼀一般有两个部分,抽象部分和形象部分。抽象好⽐比语⾔言的语法,是规则;形象好⽐比 具体的句⼦子,可以⽤用来和别⼈人交流的。抽象⽐比形象难于理解,但⽐比形象通⽤用。其实数学中我们也经常...

    Animation Programming Guide for Cocoa

    对于Cocoa Core Animation使用的讲解非常详细,值得想要学习这部分知识的同学一读。

    Advanced Animation with DirectX

    本书是通往高级程序设计的桥梁,其中并不涉及初学者的内容,完全从实战出发讲述核心理论和程序设计!这就意味着没有把时间浪费在一些基础的概念,如初始化...如果你己知道这些,那么就肯定已经做好了学习该书的准备。...

    核心动画编程指南(core animation)

    core animation核心动画编程指南 基于layer图层学习,算是目前比较详细的了,但是其中的内容并非一下子就能学会,所以建议先看一遍了解知识点,然后在编程中实际学习

    Android动画之补间动画(Tween Animation)基础学习

    小编也和大家分享了逐帧动画的基础知识,下面我们就来学习下Android中逐帧动画的基础知识。 原理 : 给出开始和结束两个关键帧,两个关键帧之间的插补帧是由计算机自动运算而得到的。 分类 : AlphaAnimation(透明度) ...

    Android动画之逐帧动画(Frame Animation)基础学习

    下面我们就来学习下Android中逐帧动画的基础知识。 原理 : 人眼的”视觉暂留” 方式 :  1.在java代码中 ( new AnimationDrawable().addFrame(getDrawable(R.drawable.a),200);)  sdk好像要求

    CSS3中Animation属性的使用详解

    主要介绍了CSS3中Animation属性的使用详解,是CSS3入门学习中的基础知识,需要的朋友可以参考下

    [不再公开可用]计算机动画:算法和技术[No longer publicly accessible] Computer Animation: Algorithms and Techniques

    计算机动画类说明的草稿,供希望学习计算机动画编程基础知识的计算机图形程序员使用。

    ios Animation的系统用法.zip

    网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:数据集、包括云计算平台、大数据...

    黑灰色css3 animation大气bootstrap模板5097.zip

    【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或...

    通往Android的神奇之旅 第五章Animation.rar

    本套课程,大家可以一路学习基本控件,高级控件,网络,自定义View地图,推送,后端云,项目实战2048游戏等等,通过本套课程,相信大家可以基本掌握Android入门知识。

    CSS的animation属性使用实例讲解

    主要介绍了CSS的animation属性使用实例讲解,是CSS入门学习中的基础知识,需要的朋友可以参考下

    百度地图毕业设计源码-runningman-animation:这是一个关于跑男动画的演示。你可以学习CSS3来创建动画场景

    通过剖析一个上线的“跑男”动画实例,来把CSS3中动画相关的知识点抽丝剥茧,一网打尽。如果读者有自己的感想或者不一样的见解,欢迎一起讨论。 整个项目的可以参考。对比线上效果,这个仓库进行了90%的删减,但是...

    swing组件模拟潜艇大战

    游戏规则:按 或 A 键 控制军舰向左 按 -> 或 D 键 ...玩家通过操作军舰向水下的鱼雷扔炸弹水下潜艇向上发射鱼雷,由于本人时间有限,没有对代码进行优化和界面UI处理,所以有很多的不足之处,仅当做学习和巩固知识。

    高级iOS面试题底层基础2020年.zip

    Animation面试题.pdf 音视频学习从零到整(2).pdf 音视频学习从零到整(1).pdf 性能优化面试题.pdf 网络相关面试题.pdf 探讨iOS 中图片的解压缩到渲染全过程..pdf 数据结构与算法.pdf 数据安全及加密.pdf 设计...

Global site tag (gtag.js) - Google Analytics