2016-06-09 4 views
5

Мне нужно нарисовать круг на холсте 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

+0

я точно нужна эта функция в моем app.Can вы даете мне полный исходный код для этой реализации, пожалуйста? – venky

ответ

1

мне удалось сделать это с помощью 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

Смежные вопросы