AnimationSet可以加入Animation,加入之后设置AnimationSet对加入的所有Animation都有效。
- AnimationSet anim=new AnimationSet(true);
- AlphaAnimation a=new AlphaAnimation(1,0);
- RotateAnimation ra=new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
- anim.addAnimation(a);
- anim.addAnimation(ra);
- anim.setDuration(3000);
- anim.setStartOffset(1000);
- iv.startAnimation(anim);
可以再xml文件中定义多个Animation,这样多个Animation可以一起运行
- <?xml version="1.0" encoding="utf-8"?>
- <set xmlns:android="http://schemas.android.com/apk/res/android"
- android:interpolator="@android:anim/accelerate_interpolator"
- android:shareInterpolator="true"
- >
- <alpha
- android:fromAlpha="1.0"
- android:toAlpha="0.0"
- android:startOffset="500"
- android:duration="3000"
- />
- <rotate
- android:fromDegrees="0"
- android:toDegrees="400"
- android:pivotX="50%"
- android:pivotY="50%"
- android:duration="3000"
- />
- </set>
Interpolator可以定义动画播放的速度

在xml文件中定义Interpolator
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
这样所有的Animation共用一个Interpolator。
在代码中用代码设置如下
anim.setInterpolator(new AccelerateInterpolator());
在new一个AnimationSet中传入true则所有的Animation共用Interpolator。
本文介绍如何使用 AnimationSet 组合多个 Android 动画并实现统一控制,包括 Alpha 和旋转动画的同时运行,以及如何定义动画播放速度的 Interpolator。

3234

被折叠的 条评论
为什么被折叠?



