90 градусов радиальный градиент в Android - PullRequest
1 голос
/ 09 сентября 2011

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

и не дает требуемого вида.Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...