学习自:http://blog.csdn.net/q445697127/article/details/7865672
package com.example.demo;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RadialGradient;
import android.graphics.Shader;
import android.view.View;
public class RadialGameView extends View implements Runnable {
Paint mPaint = null;
// 环形渐变渲染
Shader mRadialGradient = null;
public RadialGameView(Context context) {
super(context);
// 创建RadialGradient对象
// 第一个,第二个参数表示渐变圆中心坐标
// 第三个参数表示半径
// 第四个,第五个,第六个与线性渲染相同
mRadialGradient = new RadialGradient(250, 250, 150, new int[] {
Color.GREEN, Color.RED, Color.WHITE, Color.BLUE }, null,
Shader.TileMode.REPEAT);
mPaint = new Paint();
new Thread(this).start();
}
@Override
protected void onDraw(Canvas canvas) {
// 绘制环形渐变
mPaint.setShader(mRadialGradient);
// 第一个,第二个参数表示圆心坐标
// 第三个参数表示半径
canvas.drawCircle(250, 250, 150, mPaint);
}
@Override
public void run() {
while(!Thread.currentThread().isInterrupted()) {
try {
Thread.sleep(100);
}
catch(Exception e) {
Thread.currentThread().interrupt();
}
postInvalidate();
}
}
}
完整工程代码:http://download.csdn.net/detail/yegucheng2618/7646667