android 动画资源

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
float, int, or color.属性在动画开始的值,如果没有指定将通过属性的get方法获取默认值。
android:duration
int. 动画的时间(毫秒)
android:startOffset
int . 动画开始的延迟执行时间(毫秒)即调用start()后动画延迟执行的时间。
android:repeatCount
int . 动画重复执行的次数
-1和负数:无限循环执行
正数:执行相应的次数即可
0:执行1次后不循环
android:repeatMode
int . 动画结束后如何重复(重复模式),需要repeatCount为负数才有效
reverse:动画翻转,有结束向开始动画
repeat:重复动画
android:valueType
Keyword.不能为该属性指定是颜色的值,animator框架会自动处理颜色值。
intType:指定动画中值是整数
floatType (default):指定动画中的值是浮点数
<animator>:在指定的时间里执行动画,对应java类 ValueAnimator
 属性参考<ObjectAnimator>  
<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
float, int, or color.属性在动画开始的值,如果没有指定将通过属性的get方法获取默认值。
android:duration
int. 动画的时间(毫秒)
android:startOffset
int . 动画开始的延迟执行时间(毫秒)即调用start()后动画延迟执行的时间。
android:repeatCount
int . 动画重复执行的次数
-1和负数:无限循环执行
正数:执行相应的次数即可
0:执行1次后不循环
android:repeatMode
int . 动画结束后如何重复(重复模式),需要repeatCount为负数才有效
reverse:动画翻转,有结束向开始动画
repeat:重复动画
android:valueType
Keyword.不能为该属性指定是颜色的值,animator框架会自动处理颜色值。
intType:指定动画中值是整数
floatType (default):指定动画中的值是浮点数
<animator>:在指定的时间里执行动画,对应java类 ValueAnimator
 属性参考<ObjectAnimator>  
<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往返重复的过程

猜你喜欢

转载自xxmy.iteye.com/blog/1978320
今日推荐