android动画的两种形式,总结得还行

发布时间:2016-12-7 20:40:32 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"android动画的两种形式,总结得还行",主要涉及到android动画的两种形式,总结得还行方面的内容,对于android动画的两种形式,总结得还行感兴趣的同学可以参考一下。

转戴 Tween Animation(渐变动画):通过对特定的对象做图像变换如平移、缩放、旋转、淡出/淡入等产生动画效果 Frame Animation(帧动画):创建一个Drawable序列,这些Drawable可以按照指定的时间间隔一个一个的显示,也就是顺序播放事先做好的图像。 1、Tween Animation动画: (1)Tween Animation有4种样式: Alpha:渐变透明度动画效果 Scale:渐变尺寸伸缩动画效果 Translate:移动动画效果 Rotate:旋转动画效果  (2)Tween Animation有 2种使用方法: a、在XML资源中定义Animation,使用AnimationUtils中的loadAnimation()函数加载动画; b、使用Animation子类的构造函数来初始化Animation对象。 在XML资源中定义Animation: Alpha: [html] view plaincopy <alpha android:interpolator= [email protected]:anim/accelerate_decelerate_interpolator”               android:fromAlpha="1.0"               android:toAlpha="0.0"               android:duration="3000"           ></alpha>            <!--        interpolator:指定一个动画的插入器,用来控制动画的速度变化             fromAlpha:动画起始时透明度                         0.0表示完全透明                         1.0表示完全不透明                         以上值取0.0-1.0之间的float数据类型的数字           toAlpha:动画结束时透明度           duration:持续时间 -->   Scale: [html] view plaincopy <scale               android:interpolator= [email protected]:anim/accelerate_decelerate_interpolator”               android:fromXScale=”0.0″               android:toXScale=”1.4″               android:fromYScale=”0.0″               android:toYScale=”1.4″               android:pivotX=”50%”               android:pivotY=”50%”               android:fillAfter=”false”               android:startOffset=“700”               android:duration=”700″               android:repeatCount=”10″ />          <!--             fromXScale[float]:为动画起始时,X坐标上的伸缩尺寸,0.0表示收缩到没有           fromYScale[float]:为动画起始时,Y坐标上的伸缩尺寸,0.0表示收缩到没有                   1.0表示正常无伸缩                   值小于1.0表示收缩                   值大于1.0表示放大       toXScale[float]:为动画结束时,X坐标上的伸缩尺寸       toYScale[float]:为动画结束时,X坐标上的伸缩尺寸       pivotX[float]:为动画相对于物件的X坐标的开始位置       pivotY[float]:为动画相对于物件的X、Y坐标的开始位置                  50,50%,50%p。这三种写法就分别代表了ABSOLUTE,RELATIVE_TO_SELF和RELATIVE_TO_PARENT。                属性值说明:从0%-100%中取值,50%为物件的X或Y方向坐标上的中点位置       fillAfter[boolean]:当设置为true ,该动画转化在动画结束后被应用       startOffset[long]:动画之间的时间间隔,从上次动画停多少时间开始执行下个动画       repeatCount[int]:动画的重复次数 -->   Translate: [html] view plaincopy <translate       android:[email protected]:anim/accelerate_decelerate_interpolator”       android:fromXDelta=”30″       android:toXDelta=”-80″       android:fromYDelta=”30″       android:toYDelta=”300″       android:duration=”2000″ />   t;!--          fromXDelta:为动画起始时 X坐标上的位置      toXDelta: 为动画结束时 X坐标上的位置         fromYDelta: 为动画起始时 Y坐标上的位置   toYDelta:为动画结束时 Y坐标上的位置 -->   Rotate: [html] view plaincopy <rotate       android:[email protected]:anim/accelerate_decelerate_interpolator”       android:fromDegrees=”0″       android:toDegrees=”+350″       android:pivotX=”50%”       android:pivotY=”50%”       android:duration=”3000″ />   t;!--          fromDegrees:动画起始时物件的角度   toDegrees:动画结束时物件旋转的角度 可以大于360度               当角度为负数——表示逆时针旋转               当角度为正数——表示顺时针旋转               (负数from——to正数:顺时针旋转)               (负数from——to负数:逆时针旋转)               (正数from——to正数:顺时针旋转)               (正数from——to负数:逆时针旋转)      pivotX;:为动画相对于物件的X、Y坐标的开始位置   pivotY: 为动画相对于物件的X、Y坐标的开始位置               50%为物件的X或Y方向坐标上的中点位置 -->   使用Animation子类的构造函数来初始化Animation对象: 在Android SDK中提供了相应的类,Animation类派生出了AlphaAnimation、ScaleAnimation、TranslateAnimation、RotateAnimation分别实现了平移、旋转、渐变尺寸和透明度等动画。 Tween Animation通过对 View 的内容完成一系列的图形变换 (包括平移、缩放、旋转、改变透明度)来实现动画效果。具体来讲,预先定义一组指令,这些指令指定了图形变换的类型、触发时间、持续时间。这些指令可以是以 XML 文件方式定义,也可以是以源代码方式定义。程序沿着时间线执行这些指令就可以实现动画效果。 (3)Android SDK中通过interpolator控制动画的运行 interpolator定义一个动画的变化率(the rate of change)。这使得基本的动画效果(alpha, scale, translate, rotate)得以加速,减速,重复等。   Interpolator是基类,Android 提供了几个 Interpolator 子类,实现了不同的速度曲线,如下:   AccelerateDecelerateInterpolator 在动画开始与结束的时候减速,在中间的时候加速 AccelerateInterpolator   在动画开始的时候减速,然后开始加速 CycleInterpolator    动画循环播放特定的次数,速率改变沿着正弦曲线 DecelerateInterpolator   在动画开始的时候加速,然后开始减速 LinearInterpolator   在动画的以均匀的速率改变   (4)动画的运行模式 动画的运行模式有两种:   独占模式:即程序主线程进入一个循环,根据动画指令不断刷新屏幕,直到动画结束; 中断模式:即有单独一个线程对时间计数,每隔一定的时间向主线程发通知,主线程接到通知后更新屏幕 2、Frame Animation动画: 前面已经说过,Frame Animation是顺序播放事先做好的图像,与电影类似。Android SDK提供了类AnimationDrawable来定义、使用Frame Animation。 Frame Animation可以在XML Resource定义,也可以使用AnimationDrawable中的API定义。由于Tween Animation与Frame Animation有着很大的不同,因此XML定义的格式也完全不一样,其格式是:首先是animation-list根节点,animation-list根节点中包含多个item子节点,每个item节点定义一帧动画:当前帧的drawable资源和当前帧持续的时间。

上一篇:【骏河】BDC锁定问题及解决方案
下一篇:sql解惑谜题3 麻醉师谜题

相关文章

相关评论