有两种类型的动画资源:
特点动画
在设定的时刻内,经过修正与Animator类相关的方针的特点值来创立一个动画。
视图动画
有两种类型的视图动画结构
补间动画(Tween animation):经过履行经过履行一系列的与Animation类相关的单一图片的转换来创立动画。
帧动画(Frame animation):经过显现与AnimationDrawable类的次序相关的图片序列来创立动画。
特点动画
动画被界说在要修正的方针方针特点的XML中,如设定时刻内的背景色或alpha值。
文件方位(FILE LOCATION):
res/animator/filename.xml,文件名被用作资源ID。
被编译的资源类型(COMPILED RSOURCE DATATYPE):
资源要指向ValueAnimator、ObjectAnimator或AnimatorSet类型
资源引证(RESOURCE REFERENCE):
在Java代码中:R.animation.filename
在XML文件中:@[package:]animator/filename
语法(SYNTAX):
android:ordering=[together | sequentially]>
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]/>
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]/>
…
这个文件有必要有一个单一的跟元素:既可所以
元素(ELEMENTS):
能够包括其他动画元素的一个容器(
能够指定
特点(ATTRIBUTES):
android:ordering
要害特点,它指定该调集中动画的播映次序。
值 |
阐明 |
sequentially |
在本组调集中按次序播映动画。 |
together(默许) |
同一时刻播映本组调集中的动画 |
在特定的设定时刻内一个方针的详细动画特点,代表了一个ObjectAnimator方针。
特点(ATTRIBUTES):
android:propertyName
字符串类型,有必要的。经过这个姓名来引证动画的方针特点。例如,能够给View方针指定“alpha”或“backgroundColor”特点。ObjectAnimator元素没有露出target特点,因而不能在XML声明中把方针设置给动画。有必要经过调用loadAnimator()办法和setTarget()办法把动画XML资源填充到包括这个特点的方针方针中。
android:valueTo
浮点类型、整型、或色彩值,有必要的。它是动画特点的完毕值。色彩是用六个十六进制数表明(如#333333)。
android:valueFrom
浮点类型、整型、或色彩值,它是动画特点的开端值,假如没有指定,那么动画会在用特点的get办法获取值的时刻开端。色彩是六位十六进制数表明(如#333333)。
android:duration
整数类型。以毫秒为单位,指定动画时刻,默许是300毫秒。
android:startOffset
整数类型。在start()办法被调用之后,动画推迟的毫秒数。
android:repeatCount
整数类型。指定动画的重复次数。设置为“-1”,阐明要无限次重复,或指定一个正整数。如,设定为1,阐明动画第一次运转之后,还要重复一次,因而动画要播映两次。默许值是0,意味着不重复。
android:repeatMode
正整数。指定在动画抵达完毕时的行为办法。只要android:repeatCount被设置为正整数或“-1”时,这个特点才有作用。假如设置为“reverse”,那么每次重复时会逆向播映动画,假如设置为“repeat”,那么每次重复时,会从动画的最初来播映动画。
android:valueType
要害特点。假如值是色彩值,那么不必指定这个特点。动画结构会主动处理色彩值。
值 |
阐明 |
intType |
指定动画的值是整数 |
floatType(默许) |
指定动画的值是浮点数 |
在设定时刻内的动画。代表了一个ValueAnimator方针。
特点(ATTRIBUTES):
android:valueTo
浮点型、整型或色彩值,有必要的。它是动画完毕的的值。色彩值用六位十六进制数来代表(如,#333333)
android:valueFrom
浮点型、整型或色彩值,有必要的。它是动画开端的值。色彩值用六位十六进制数来代表(如,#333333)
android:duration
整数。以毫秒为单位,指定动画的播映时刻。默许是300毫秒。
android:startOffset
整数。指定start()办法被调用后,动画推迟的毫秒数。
android:repeatCount
整数。指定动画的重复次数。假如设置为“-1”,则动画会无限次重复,或许指定一个正整数。例如,设定为“1”,那么动画在初始运转一次之后,会再重复播映一次,因而动画一共播映了两次。它的默许值是0,这意味着动画重复。
android:repeatMode
整数。它指定动画抵达完毕时重复的行为办法。android:repeatCount有必要被设置为正整数或“-1”时,这个特点才会有作用。假如设置为“reverse”,动画在每次重播时,会逆向播映;假如设置为“repeat”,那么动画每次重播时,会重开端的方位播映。
android:valueType
要害特点,假如值是色彩,则不必指定这个特点。由于动画结构会主动的处理色彩值
值 |
阐明 |
intType |
指定动画的值是整数 |
floatType(默许) |
指定动画的值是浮点数 |
比如(EXAMPLE):
这个XML文件被保存在res/animator/property_animator.xml:
android:propertyName=x
android:duration=500
android:valueTo=400
android:valueType=intType/>
android:propertyName=y
android:duration=500
android:valueTo=300
android:valueType=intType/>
android:propertyName=alpha
android:duration=500
android:valueTo=1f/>
要运转这个动画,就有必要在代码中把这个XML资源填充给一个AnimatorSet方针,然后在发动这个动画集之前,把方针方针设置个一切的动画。调用setTarget办法能够便利的把一个单一方针设置给AnimatorSet方针的一切子方针。代码如下:
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext, R.anim.property_animator);
set.setTarget(myObject);set.start();