Anim.java 977 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package com.xunao.effectdemo.anim;
  2. import android.graphics.Canvas;
  3. import com.xunao.effectdemo.view.EnterAnimLayout;
  4. /**
  5. * Created by wpm on 2017/3/30.
  6. */
  7. public abstract class Anim {
  8. protected EnterAnimLayout view;
  9. protected float w;
  10. protected float h;
  11. public float totalPaintTime;//控制绘制时间
  12. public Anim(EnterAnimLayout view) {
  13. this(view,2000);
  14. }
  15. public Anim(EnterAnimLayout view, float totalPaintTime) {
  16. this.totalPaintTime = totalPaintTime;
  17. this.view = view;
  18. this.view.setAnim(this);
  19. w = view.getWidth();
  20. h = view.getHeight();
  21. }
  22. public void startAnimation() {
  23. view.setmIsAnimaionRun(true);
  24. view.setStartTime(System.currentTimeMillis());
  25. view.invalidate();
  26. }
  27. public void startAnimation(long animTime) {
  28. totalPaintTime = animTime;
  29. startAnimation();
  30. }
  31. public abstract void handleCanvas(Canvas canvas, float rate);
  32. }