将径向渐变设置为画布上圆的背景颜色

tro*_*ous 0 geometry android gradient canvas android-drawable

我使用.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);
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的时间.

pde*_*d59 5

在绘制圆之前,请使用以下代码:

paint.setShader(new RadialGradient(
  centerX,
  centerY,
  radius,
  centerColor,
  externalColor,
  Shader.TileMode.CLAMP
 ));
canvas.drawCircle(..., paint);
Run Code Online (Sandbox Code Playgroud)

如果您想要更自定义的径向渐变,请参阅RadialGradient.