package cutin.sample.animation;
import java.util.Timer;
import java.util.TimerTask;
import android.content.Context;
import android.content.Intent;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Shader;
import android.graphics.SweepGradient;
import android.view.View;
import com.garlicg.cutinlib.CutinService;
public class SweepCutin extends CutinService{
@Override
protected View create() {
return new SampleView(this);
}
@Override
protected void destroy() {
}
@Override
protected void start(Intent arg0, int arg1, int arg2) {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
finishCutin();
}
}, 1500);
}
private static class SampleView extends View {
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private float mRotate;
private Matrix mMatrix = new Matrix();
private Shader mShader;
public SampleView(Context context) {
super(context);
setFocusable(true);
setFocusableInTouchMode(true);
float x = 160;
float y = 100;
mShader = new SweepGradient(x, y, new int[] { Color.GREEN,
Color.RED,
Color.BLUE,
Color.GREEN }, null);
mPaint.setShader(mShader);
mPaint.setDither(true);
}
@Override
protected void onDraw(Canvas canvas) {
Paint paint = mPaint;
float x = 160;
float y = 100;
canvas.drawColor(Color.TRANSPARENT);
mMatrix.setRotate(mRotate, x, y);
mShader.setLocalMatrix(mMatrix);
mRotate += 3;
if (mRotate >= 360) {
mRotate = 0;
}
canvas.drawCircle(x, y, 80, paint);
invalidate();
}
}
}