7

How can I draw an arc using a Shader such as SweepGradient?

The examples I have all take a Paint object:

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

Don't think it makes a difference, but I'm using it to draw to a homescreen widget

pufferfish
  • 16,651
  • 15
  • 56
  • 65

1 Answers1

15

Try this:

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

You can modify the position and color values.

eeerahul
  • 1,629
  • 4
  • 27
  • 38
Ganesh kumar
  • 166
  • 2
  • 3