Нарисуйте дугу с помощью SweepGradient в Android - PullRequest
6 голосов
/ 24 января 2011

Как нарисовать дугу с помощью шейдера, такого как SweepGradient?

Все примеры, которые у меня есть, берут объект Paint:

Paint lightRed = new Paint();
lightRed.setAntiAlias(true);
lightRed.setStyle(Style.STROKE);
lightRed.setStrokeWidth(12);
lightRed.setColor(0xFFCC0000);
...
canvas.drawArc(rectf, -90, 360, false, lightRed);

Не думайте, что это имеет значение,но я использую его для рисования на виджет рабочего стола

1 Ответ

12 голосов
/ 02 декабря 2011

Попробуйте:

Shader gradient = new SweepGradient (0,getMeasuredHeight()/2, Color.RED, Color.WHITE);
lighted.setShader(gradient);
canvas.drawArc(rectf, -90, 360, false, lightRed);

Вы можете изменить положение и значения цвета.

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