Android动画之Interpolator和AnimationSet

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。

posted @ 2014-10-22 14:14  别人眼中的过客  阅读(2110)  评论(0编辑  收藏  举报