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; /** * @version 2012-8-14 上午10:45:28 **/ public class RadialGameView extends View implements Runnable { Paint mPaint = null; // 环形渐变渲染 Shader mRadialGradient = null; public RadialGameView(Context context) { super(context); // 创建RadialGradient对象 // 第一个,第二个参数表示渐变圆中心坐标 // 第三个参数表示半径 // 第四个,第五个,第六个与线性渲染相同 mRadialGradient = new RadialGradient(50, 50, 50, new int[] { Color.GREEN, Color.RED, Color.BLUE, Color.WHITE }, null, Shader.TileMode.REPEAT); mPaint = new Paint(); new Thread(this).start(); } @Override protected void onDraw(Canvas canvas) { // 绘制环形渐变 mPaint.setShader(mRadialGradient); // 第一个,第二个参数表示圆心坐标 // 第三个参数表示半径 canvas.drawCircle(50, 50, 50, mPaint); } @Override public void run() { while(!Thread.currentThread().isInterrupted()) { try { Thread.sleep(100); } catch(Exception e) { Thread.currentThread().interrupt(); } postInvalidate(); } } }效果图