2016-06-09 31 views
5

Ho bisogno di disegnare un cerchio su una tela Android, in base a un elenco di sfumature di colori. Sono riuscito a disegnarlo senza il gradiente, come un insieme di archi ognuno con uno dei colori nella lista, come presentato dalla seguente immagine.Disegna un cerchio in una tela con più colori sfumati

enter image description here

Come posso disegnare con un gradiente di reale? Ho provato con il seguente codice di applicare uno shader alla vernice:

Shader shader = new LinearGradient(0, 0, circleWidth, circleHeight, colorList, null, Shader.TileMode.MIRROR); 
paint.setShader(shader); 
canvas.drawCircle(circleWidth/2, circleHeight/2, radius, paint); 

ma il risultato è il seguente.

enter image description here

+0

ho bisogno esattamente questa funzione nel mio app.Can mi dai sorgente completo per questa implementazione per favore? – venky

risposta

1

sono riuscito a fare utilizzando uno 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