我正在制作一个显示(圆形)标尺的自定义视图。我想要 使比例的背景从绿色变为黄色到红色 (270度刻度)为黑色。我面临的问题是我不能 弄清楚如何制作90度径向梯度 - 具体我 我想绘制一个从绿色到黄色的渐变径向 在90度(然后从黄色到红色(90度)和从 红色回来(再次在90度))。我目前的代码如下:
canvas.drawOval(scaleRect, scalePaint);
canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.rotate(-135, 0.5f, 0.5f);
paintSection.setShader(new RadialGradient(0.0f, 0.0f, 1.0f,
Color.GREEN, Color.YELLOW, Shader.TileMode.REPEAT));
canvas.drawArc(scaleRect, -90, 90, true, paintSection);
canvas.rotate(90, 0.5f, 0.5f);
paintSection.setShader(new RadialGradient(0.0f, 0.0f, 1.0f,
Color.YELLOW, Color.RED, Shader.TileMode.MIRROR));
canvas.drawArc(scaleRect, -90, 90, true, paintSection);
canvas.rotate(90, 0.5f, 0.5f);
paintSection.setShader(new RadialGradient(0.0f, 0.0f, 1.0f, Color.RED,
Color.BLACK, Shader.TileMode.MIRROR));
canvas.drawArc(scaleRect, -90, 90, true, paintSection);
canvas.restore();
并且不会产生所需的外观。提前谢谢。