自定义View 炫酷换壁纸效果,水瓶加水进度显示效果
后面补上效果图:
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.View;
import android.view.animation.AccelerateDecelerateInterpolator;
import android.view.animation.Animation;
import android.view.animation.OvershootInterpolator;
import com.nineoldandroids.animation.Animator;
import com.nineoldandroids.animation.AnimatorSet;
import com.nineoldandroids.animation.ObjectAnimator;
import com.nineoldandroids.animation.ValueAnimator;
/**
* 一键换壁纸,加水动画效果
459821731@qq.com
* Created by ferris on 2016/1/19.
*/
public class WallpaperFlashView extends View {
private PorterDuffXfermode xfermode;
private Paint mPaint;
private Drawable bg1;
private Drawable bg2;
private Bitmap wave;
private int waveadd;
private Rect mMaskRect;
private int waveheight;
private int wavelength;
private int wavewidth;
private int speed = 3;
private Bitmap srcwave;
private Rect mWaveRect;
private Rect mWaveSrcRect;
private int waveColor;
private Paint mBgColorPaint;
private Rect mBgRect;
private Bitmap iconMask;
private int padding_bottom;
private int padding_left;
private int padding_right;
private int padding_top;
private int width;
private int height;
private Rect mBgColorRect;
private boolean isFlash = true;
private boolean isUp = false;
private long startTime = 0L;
private int downProgress = 0;
private int progress = 0;
private ObjectAnimator mAnimator;
private boolean isStart = false;
private ObjectAnimator.AnimatorListener mListener;
private Handler handler = new Handler();
public WallpaperFl