想画一个圆弧,产生渐变效果,做好的代码如下:
int [] color = {Color.BLUE,Color.BLACK};
Paint paint = new Paint();
Shader mShader=new SweepGradient(centerX, centerY, color, position);
paint.setShader(mShader);
paint.setAntiAlias(true);
paint.setStrokeWidth((float) 0.5);
canvas.drawArc(biggerRec, ARC_BEGIN, arc, true, paint);
其中position是一个float数值。多数情况下这个代码都能正常工作,但是当要画的圆弧,在0度前后,例如350度到10度间,也要产生渐变效果时就出问题了,重点在position的设置上。了解的人都知道position的取值范围是0到1,分别表示从0度到360度间的颜色的位置,但是要做0度前后的渐变效果时,position应该怎么设置啊?难道不能在0度前后渐变吗,不会要我做个图像旋转吧?谢谢各位大侠啦,不胜感激!