Android 自定义View环形渐变注意事项

870 阅读1分钟

要实现这种渐变效果,自定义View核心代码如下:

// !!!!一定不可为透明,否则看不见渐变圆条,具体颜色可以随便指定或者不指定。
if (circleColor != Color.TRANSPARENT) {
     mPaint.setColor(circleColor);
}
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(circleWidth);
// 圆形渐变,由于上面设置了STROKE,所以成了环形渐变
mGradientShader = new SweepGradient(0, 0, circleStartColor, circleEndColor);
mPaint.setShader(mGradientShader);
cavans.drawArc(mRectF, 0, getSweepAngle(), false, mPaint);

注意第一句注释,搞了半天一直看不见效果,原来是我把Paint的color设置成了TRANSPARENT。