- 属性动画:在一定的时间段内通过Animator对象来修改对象的属性值来创建的动画。
- 视图动画:用视图动画框架可以提供两种类型的动画。
补间动画:
通过Animator对象在一个图形上经过一段时间执行一系列的变换创作的动画。
帧动画:
通过AnimationDrawable对象来按顺序显示一系列的图片。
属性动画:
文件夹位置:
res/animator/filename.xml,其中filename将用作资源的ID。
编译后的数据类型:
资源被编译成ValueAnimator,
ObjectAnimator, 或者AnimatorSet
资源引用:
Java: R.animator.filename
XML: @[package:]animator/filename
XML: @[package:]animator/filename
语法:
<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>
<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>元素:在一定的时间段内启动一个特定的对象属性。
<animator>元素:在一定的时间段内执行一个动画。
视图动画:
补间动画:
一个图片在位置、透明度上等等的变换。
文件夹位置:
res/anim/filename.xml,其中filename将用作资源的ID。
编译后的数据类型:
资源类型Animation
资源引用:
Java: R.anim.filename
XML: @[package:]anim/filename
XML: @[package:]anim/filename
语法:
<?xml
version="1.0"
encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@[package:]anim/interpolator_resource"
android:shareInterpolator=["true" | "false"] >
<alpha
android:fromAlpha="float"
android:toAlpha="float" />
<scale
android:fromXScale="float"
android:toXScale="float"
android:fromYScale="float"
android:toYScale="float"
android:pivotX="float"
android:pivotY="float" />
<translate
android:fromXDelta="float"
android:toXDelta="float"
android:fromYDelta="float"
android:toYDelta="float" />
<rotate
android:fromDegrees="float"
android:toDegrees="float"
android:pivotX="float"
android:pivotY="float" />
<set>
...
</set>
</set>
android:interpolator="@[package:]anim/interpolator_resource"
android:shareInterpolator=["true" | "false"] >
<alpha
android:fromAlpha="float"
android:toAlpha="float" />
<scale
android:fromXScale="float"
android:toXScale="float"
android:fromYScale="float"
android:toYScale="float"
android:pivotX="float"
android:pivotY="float" />
<translate
android:fromXDelta="float"
android:toXDelta="float"
android:fromYDelta="float"
android:toYDelta="float" />
<rotate
android:fromDegrees="float"
android:toDegrees="float"
android:pivotX="float"
android:pivotY="float" />
<set>
...
</set>
</set>
逐帧动画:
按顺序显示一系列的图片。
文件夹位置:
res/drawable/filename.xml,其中filename将用作资源的ID。
编译后的数据类型:
资源类型AnimationDrawable
资源引用:
Java: R.drawable.filename
XML: @[package:]drawable/filename
XML: @[package:]drawable/filename
语法:
<?xml
version="1.0"
encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot=["true" | "false"] >
<item
android:drawable="@[package:]drawable/drawable_resource_name"
android:duration="integer" />
</animation-list>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot=["true" | "false"] >
<item
android:drawable="@[package:]drawable/drawable_resource_name"
android:duration="integer" />
</animation-list>