2011-01-24 13 views
5

SweepGradientなどのシェーダーを使用して円弧を描画するにはどうすればよいですか?Androidで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); 

は、それが違いを考えてはいけないが、私は、ホームスクリーンウィジェットに

答えて

11

を描画するためにそれを使用しています、これを試してみてください。

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

位置と色の値を変更することができます。

関連する問題