interpolator定义一个动画的变化率。可以实现匀速、正加速、负加速、无规则变加速等。
AccelerateDecelerateInterpolator:在动画开始与结束的地方速率改变比较慢,在中间的时候加速
AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速
CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始减速
LinearInterpolator:动画以均匀的速率改变
1)在XML文件中:
<?xml version="1.0"encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator=“@android:anim/accelerate_decelerate_interpolator“//设置Interpolator的变化率
android:shareInterpolator=“true”>//true表示AnimationSet中的Animation的变化率都一样,false表示要单独为每个Animation设置变化率
... </set>
2)在Java 源码中的类:
//在构建AnimationSet的时候传入true,相当于XML文件中android:shareInterpolator=“true”>
AnimationSet moveAnimSet = new AnimationSet(true);
moveAnimSet.setInterpolator(new DecelerateInterpolator());