android项目开发中,我们会用到一些动画效果,下面是我写的一个小demo:
首先,贴上自定义view类的代码:
public class MaveView extends View {
private Path mAbovePath, mBelowWavePath;
private Paint mAboveWavePaint, mBelowWavePaint;
private DrawFilter mDrawFilter;
private float φ;
private double ω;
private float y, y2;
private OnWaveAnimationListener mWaveAnimationListener;
public MaveView(Context context) {
super(context);
//初始化
init();
}
public MaveView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
//初始化
init();
}
public MaveView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
//初始化
init();
}
protected void init(){
//初始化路径
mAbovePath = new Path();
mBelowWavePath = new Path();
//初始化画笔
//上方波浪
mAboveWavePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mAboveWavePaint.setAntiAlias(true);
mAboveWavePaint.setStyle(Paint.Style.FILL);
mAboveWavePaint.setColor(Color.WHITE);
//下方波浪
mBelowWavePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mBelowWavePaint.setAntiAlias(true);
mBelowWavePaint.setStyle(Paint.Style.FILL);
mBelowWavePaint.setColor(Color.WHITE);