android的动画资源分为两类
属性(property)动画 通过在一定时间的动画来更改控件对象的属性。
view动画 tween 动画: 通过Animation
在一定时间内实现指定的变换来创建动画。 frame 动画: 通过AnimationDrawable
实现一些列图片的逐张显示来实现。
属性动画:
动画定义在xml文件中修改目标对象的某一个属性,如background,alpha etc.
文件位置:res/animator/xxx.xml
资源类型数据:ValueAnimator、ObjectAnimator、AnimatorSet
资源引用:in java---R.animator.xxx in xml------@[package:]animator/xxx
定义动画的语法:
<set android:ordering=["together" | "sequentially"]> <objectAnimator android:propertyName="string" android:duration="int" android:valueFrom="float | int | color" android:valueTo="float | int | color" android:startOffset="int" android:repeatCount="int" android:repeatMode=["repeat" | "reverse"] android:valueType=["intType" | "floatType"]/> <animator android:duration="int" android:valueFrom="float | int | color" android:valueTo="float | int | color" android:startOffset="int" android:repeatCount="int" android:repeatMode=["repeat" | "reverse"] android:valueType=["intType" | "floatType"]/> <set> ... </set></set>
在该文件中只有一个根元素可以是set、objectAnimator、valueAnimator当然你也可以将它们组合在一个set中,set之间允许嵌套。
<set>:持有其他动画元素的容器,对应的java类AnimatorSet
.
android:order
指定<set>中动画的播放顺序
sequentially:按照
顺序播放动画
together
(default):同时播放所以动画
<objectAnimator>:在一段时间内为指定对象的某个属性赋予动画,对应java类
ObjectAnimator
.
android:propertyName
String Required,要实现动画的属性,你可以指定诸如alpha,backgroundColor等,当然在objectAnimator中不能指定目标对象在xml配置文件中,你可以通过loadAnimator()方法加载动画并通过setTarget()方法为动画指定目标。
android:valueTo
float, int, or color. Required.代表属性在动画最后的值.
android:valueFrom
android:duration
android:startOffset
android:repeatCount
android:repeatMode
reverse:动画翻转,有结束向开始动画
repeat:重复动画
android:valueType
intType:指定动画中值是整数
floatType
(default):指定动画中的值是浮点数
<animator>:在指定的时间里执行动画,对应java类
ValueAnimator
<set xmlns:android="http://schemas.android.com/apk/res/android" > <set android:ordering="together" > <objectAnimator android:duration="3000" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="x" android:repeatCount="-1" android:repeatMode="reverse" android:startOffset="100" android:valueFrom="0" android:valueTo="500" /> <objectAnimator android:duration="3000" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="y" android:repeatCount="-1" android:repeatMode="reverse" android:startOffset="100" android:valueFrom="0" android:valueTo="500" /> </set> <objectAnimator android:duration="300" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="alpha" android:repeatCount="-1" android:repeatMode="reverse" android:valueFrom="0" android:valueTo="1" android:valueType="intType" > </objectAnimator> </set> 上述动画实现目标对象有(0,0)位置移动到(500,500) alpha有0-1往返重复的过程
android的动画资源分为两类
属性(property)动画 通过在一定时间的动画来更改控件对象的属性。
view动画 tween 动画: 通过Animation
在一定时间内实现指定的变换来创建动画。 frame 动画: 通过AnimationDrawable
实现一些列图片的逐张显示来实现。
属性动画:
动画定义在xml文件中修改目标对象的某一个属性,如background,alpha etc.
文件位置:res/animator/xxx.xml
资源类型数据:ValueAnimator、ObjectAnimator、AnimatorSet
资源引用:in java---R.animator.xxx in xml------@[package:]animator/xxx
定义动画的语法:
<set android:ordering=["together" | "sequentially"]> <objectAnimator android:propertyName="string" android:duration="int" android:valueFrom="float | int | color" android:valueTo="float | int | color" android:startOffset="int" android:repeatCount="int" android:repeatMode=["repeat" | "reverse"] android:valueType=["intType" | "floatType"]/> <animator android:duration="int" android:valueFrom="float | int | color" android:valueTo="float | int | color" android:startOffset="int" android:repeatCount="int" android:repeatMode=["repeat" | "reverse"] android:valueType=["intType" | "floatType"]/> <set> ... </set></set>
在该文件中只有一个根元素可以是set、objectAnimator、valueAnimator当然你也可以将它们组合在一个set中,set之间允许嵌套。
<set>:持有其他动画元素的容器,对应的java类AnimatorSet
.
android:order
指定<set>中动画的播放顺序
sequentially:按照
顺序播放动画
together
(default):同时播放所以动画
<objectAnimator>:在一段时间内为指定对象的某个属性赋予动画,对应java类
ObjectAnimator
.
android:propertyName
String Required,要实现动画的属性,你可以指定诸如alpha,backgroundColor等,当然在objectAnimator中不能指定目标对象在xml配置文件中,你可以通过loadAnimator()方法加载动画并通过setTarget()方法为动画指定目标。
android:valueTo
float, int, or color. Required.代表属性在动画最后的值.
android:valueFrom
android:duration
android:startOffset
android:repeatCount
android:repeatMode
reverse:动画翻转,有结束向开始动画
repeat:重复动画
android:valueType
intType:指定动画中值是整数
floatType
(default):指定动画中的值是浮点数
<animator>:在指定的时间里执行动画,对应java类
ValueAnimator
<set xmlns:android="http://schemas.android.com/apk/res/android" > <set android:ordering="together" > <objectAnimator android:duration="3000" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="x" android:repeatCount="-1" android:repeatMode="reverse" android:startOffset="100" android:valueFrom="0" android:valueTo="500" /> <objectAnimator android:duration="3000" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="y" android:repeatCount="-1" android:repeatMode="reverse" android:startOffset="100" android:valueFrom="0" android:valueTo="500" /> </set> <objectAnimator android:duration="300" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="alpha" android:repeatCount="-1" android:repeatMode="reverse" android:valueFrom="0" android:valueTo="1" android:valueType="intType" > </objectAnimator> </set> 上述动画实现目标对象有(0,0)位置移动到(500,500) alpha有0-1往返重复的过程