anim资源这里特指Android中的View Animation(视图动画),然而视图动画分为:
文件路径:res/anim/filename.xml 这样的一个资源指向一个Animation对象 资源引用:
<?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
<set> <alpha> <scale> <translate> <rotate>
这些标签都可以作为根标签,代表一种动画,其中<set>
可以包含以上所有标签,我们可以通过 <set>
和其他标签组合设计多种多样的动画效果。
下面逐个解析标签的作用:
<set>
代表一个AnimationSet 属性:
<alpha>
代表一个AlphaAnimation,淡入淡出动画 属性:
<scale>
代表一个ScaleAnimation,缩放动画 属性:
<translate>
代表一个TranslateAnimation,偏移动画
取值举例: android:toXDelta=”100%”,表示自身的100%,也就是从View自己的位置开始 android:toXDelta=”80%p”,表示父层View的80%,是以它父层View为参照的
<rotate>
代表一个RotateAnimation, 旋转动画 属性:
补间动画例子:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="1.4"
android:fromYScale="1.0"
android:toYScale="0.6"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="700" />
<set
android:interpolator="@android:anim/accelerate_interpolator"
android:startOffset="700">
<scale
android:fromXScale="1.4"
android:toXScale="0.0"
android:fromYScale="0.6"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400" />
<rotate
android:fromDegrees="0"
android:toDegrees="-45"
android:toYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="400" />
</set></set>
代码中使用:
ImageView image = (ImageView) findViewById(R.id.image);
Animation hyperspaceJump = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);
image.startAnimation(hyperspaceJump);
文件路径:res/drawable/filename.xml 这样的一个资源指向一个AnimationDrawable对象 资源引用:
语法
<?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>
属性:
例子:
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
<item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
<item android:drawable="@drawable/rocket_thrust3" android:duration="200" /></animation-list>
一个item表示一帧,一帧对应一张图片,duration表示持续的时间。
代码中使用:
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketAnimation.start();
本节课主要讲解了Android中anim资源的知识点和具体使用方法,如需要获取更详细的资料,可以访问以下地址: http://www.android-doc.com/guide/topics/resources/animation-resource.html