Android渲染器Shader:环状放射渐变渲染器RadialGradient(三)



Android渲染器Shader:环状放射渐变渲染器RadialGradient(三)

Android RadialGradient渲染器提供一种环状、发散、放射形状的渐变渲染器。
写一个例子:

package zhangphil.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.util.AttributeSet;
import android.view.View;


/**
 * Created by Phil on 2016/7/25.
 */


public class RadialGradientView extends View {

    private Paint mPaint = null;
    private float radius=480;
    private RadialGradient mRadialGradient = null;

    public RadialGradientView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        mRadialGradient = new RadialGradient(this.getWidth()/2, this.getHeight()/2, radius, new int[] {Color.RED, Color.TRANSPARENT,Color.BLACK}, null,Shader.TileMode.CLAMP);

        mPaint = new Paint();
        mPaint.setAntiAlias(true);

        mPaint.setShader(mRadialGradient);

        canvas.drawCircle(this.getWidth() / 2, this.getHeight() / 2, radius, mPaint);
    }
}



代码运行结果:



附录文章:
1,《Android渲染器Shader:LinearGradient(一)》链接:http://blog.csdn.net/zhangphil/article/details/52004027
2,《Android渲染器Shader:梯度渐变扫描渲染器SweepGradient(二)》链接:http://blog.csdn.net/zhangphil/article/details/52021677

posted on 2016-07-25 14:54  疯子123  阅读(290)  评论(0编辑  收藏  举报

导航