Я работаю над пользовательским представлением, которое показывает (круглый) датчик.Я хотел бы сделать фон шкалы, чтобы перейти от зеленого до желтого до красного (шкала 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();
и не дает требуемого вида.Заранее спасибо.