现在的位置: 首页 > 综合 > 正文

Android动画之Interpolator和AnimationSet(三)

2018年04月19日 ⁄ 综合 ⁄ 共 1460字 ⁄ 字号 评论关闭

转自:http://blog.csdn.net/zhy_cheng/article/details/7951868


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。

抱歉!评论已关闭.