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

时间:2016-06-09 14:54:58

标签: android canvas gradient

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

enter image description here

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

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

但结果如下。

enter image description here

1 个答案:

答案 0 :(得分:6)

我设法使用SweepGradient。

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

enter image description here