AnimLingXing.java 770 B

1234567891011121314151617181920212223242526272829303132
  1. package com.xunao.effectdemo.anim;
  2. import android.graphics.Canvas;
  3. import android.graphics.Path;
  4. import android.graphics.Region;
  5. import com.xunao.effectdemo.view.EnterAnimLayout;
  6. /**
  7. * Created by wpm on 2017/3/30.
  8. */
  9. public class AnimLingXing extends Anim {
  10. public AnimLingXing(EnterAnimLayout view) {
  11. super(view);
  12. }
  13. Path path1=new Path();
  14. @Override
  15. public void handleCanvas(Canvas canvas, float rate) {
  16. //剪切出菱形区域
  17. path1.reset();
  18. path1.moveTo(w/2, -h/2+ h*rate);
  19. path1.lineTo(-w/2+w*rate, h/2);
  20. path1.lineTo(w/2, h+h/2 - h*rate);
  21. path1.lineTo(w+w/2 -w*rate, h/2);
  22. path1.close();//封闭
  23. canvas.clipPath(path1, Region.Op.XOR);
  24. canvas.save();
  25. }
  26. }