在具有多种渐变颜色的画布上绘制一个圆

ale*_*oli 8 android gradient canvas

我需要在Android画布上绘制一个圆形,基于渐变颜色列表.我设法在没有渐变的情况下绘制它,作为一组弧,每个弧都具有列表中的一种颜色,如下图所示.

在此输入图像描述

如何用实际渐变绘制它?我尝试使用以下代码将着色器应用于绘图:

Shader shader = new LinearGradient(0, 0, circleWidth, circleHeight, colorList, null, Shader.TileMode.MIRROR);
paint.setShader(shader);
canvas.drawCircle(circleWidth / 2, circleHeight / 2, radius, paint);
Run Code Online (Sandbox Code Playgroud)

但结果如下.

在此输入图像描述

ale*_*oli 6

我设法使用SweepGradient制作它.

Shader shader = new SweepGradient(circleWidth / 2, circleHeight / 2, colorList, null);
paint.setShader(shader);
canvas.drawCircle(circleWidth / 2, circleHeight / 2, radius, paint);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述