我使用.drawCircle在画布上绘制一些圆圈。
我希望该圆的填充颜色为径向渐变(如果不可能,则为线性渐变)。
基本上我希望圆圈有一些深度。
我不太清楚如何做到这一点。
我知道我可以将渐变定义为可绘制的,但有没有办法将其设置为绘制圆的背景?
例如在WPF中我可以简单地定义一个LinearGradientBrush并定义它的停止点。
上下文的一些代码:
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setStrokeWidth(4);
canvas.drawCircle((float) temp_dot.get_x(),
(float) temp_dot.get_y(),
(float) temp_dot.get_radius(),
paint);
提前感谢您的时间。
答案 0 :(得分:5)
在绘制圆圈之前,请使用以下代码:
paint.setShader(new RadialGradient(
centerX,
centerY,
radius,
centerColor,
externalColor,
Shader.TileMode.CLAMP
));
canvas.drawCircle(..., paint);
如果您想要更自定义的径向渐变,请参阅RadialGradient。