转bitmap用setXfermode……canvas画个和背景色同色的小1、2像素同心圆?适用性不太好
然后就是计算了……不过灵活性也不好

解决方案 »

  1.   

    这个要计算的,如果简单的想看你代码的效果就直接
    canvas.drawLine(100 + 0.707 * 20 , 100 + 0.707 * 20, 200, 200, outGrayPaint);
    0.707是二分之一根号二,最直接的意思是说从圆上开始画,具体点是cos角度乘以半径为x,sin角度乘以半径为y,从圆心到圆上的坐标就可以表示为:x = 圆心x + (cos角度 * 半径), y = 圆心y + (sin角度 * 半径)另外具体的角度不用计算出来,只要计算cos和sin的值就可以。