RadialGradient环形渲染


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();
        }
    }
}
效果图 RadialGradient环形渲染_第1张图片

你可能感兴趣的:(thread,exception,null,Class,shader)