Android动画之Interpolator和AnimationSet


AnimationSet可以加入Animation,加入之后设置AnimationSet对加入的所有Animation都有效。
[java]  view plain copy
  1. AnimationSet anim=new AnimationSet(true);  
  2.             AlphaAnimation a=new AlphaAnimation(1,0);  
  3.             RotateAnimation ra=new RotateAnimation(0720, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);  
  4.             anim.addAnimation(a);  
  5.             anim.addAnimation(ra);  
  6.             anim.setDuration(3000);  
  7.             anim.setStartOffset(1000);  
  8.             iv.startAnimation(anim);  


可以再xml文件中定义多个Animation,这样多个Animation可以一起运行

[html]  view plain copy
  1. xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:interpolator="@android:anim/accelerate_interpolator"  
  4.     android:shareInterpolator="true"  
  5.     >  
  6.     <alpha  
  7.         android:fromAlpha="1.0"  
  8.         android:toAlpha="0.0"  
  9.         android:startOffset="500"  
  10.         android:duration="3000"  
  11.             />  
  12.     <rotate  
  13.         android:fromDegrees="0"  
  14.         android:toDegrees="400"  
  15.         android:pivotX="50%"  
  16.         android:pivotY="50%"  
  17.         android:duration="3000"  
  18.     />  
  19.   
  20. set>  


Interpolator可以定义动画播放的速度

在xml文件中定义Interpolator

android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"

这样所有的Animation共用一个Interpolator。

在代码中用代码设置如下

anim.setInterpolator(new AccelerateInterpolator());

在new一个AnimationSet中传入true则所有的Animation共用Interpolator。


你可能感兴趣的:(android动画效果)