Android

Android自定义View动画

2016-01-17  本文已影响612人  Harvace

我们知道自定义View是通过onDraw(Canvas canvas)函数进行绘图的,动画的实现其实就是不停地重绘。

  1. 设置动画的时间
private final int DURATION = 2500;//动画持续时间

2.定义插值时间变量,这个变量的值在0-1之间

private float mInterpolatedTime;

3.然后加上这两个

private class MoveAnimation extends Animation {
    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
      super.applyTransformation(interpolatedTime, t);
      mInterpolatedTime = interpolatedTime;
      invalidate();
    }
}
public void startAnimation() {
      mInterpolatedTime = 0;  
      MoveAnimation move = new MoveAnimation();
      move.setDuration(DURATION);
      move.setInterpolator(new AccelerateDecelerateInterpolator());
      startAnimation(move);
}
  1. onDraw里按照mInterpolatedTime在不同时间绘制不同的图就OK
  2. 使用时要用
view. startAnimation();
上一篇 下一篇

猜你喜欢

热点阅读