在Android中使用SweepGradient绘制圆弧

puf*_*ish 6 android android-widget

如何使用诸如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);
Run Code Online (Sandbox Code Playgroud)

不要认为它有所作为,但我正在使用它来绘制主屏幕小部件

小智 12

试试这个:

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

您可以修改位置和颜色值.