我正在研究android上的动画效果,我想知道是否有其他方法可以逐渐增加/减少动画速度?
是否有可能指定前3秒的变化速度很慢,其余的变速很快?
答案 0 :(得分:5)
使用Interpolator。对于您的情况,我建议AccelerateDecelerateInterpolator
Animation anim = AnimationUtils.loadAnimation(this, R.anim.your_animation);
anim.setInterpolator(new AccelerateDecelerateInterpolator());
image.startAnimation(anim);
至于插补器,你可以建立自己的!
public class MyInterpolator extends Interpolator {
public MyInterpolator(int valueCount) {
super(valueCount);
}
public float getInterpolation (float input) {
return (float)(Math.cos((input + 1) * Math.PI) / 2.0f) + 0.5f;
}
}
使用Wolfram Alpha可以使用参数。