public class MyImageView extends ImageView {
private Context context;
private Paint paint;
private float radius;
private float width;
private int color;
public MyImageView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
this.paint = new Paint();
// 清除锯齿
paint.setAntiAlias(true);
// 绘制空心圆
paint.setStyle(Paint.Style.STROKE);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 得到宽度
int center = getWidth() / 2;
int innerCircle = dip2px(context, radius); // 内圆半径
int ringWidth = dip2px(context, width); // 圆环宽度
//设置宽度
paint.setStrokeMiter(width);
//设置颜色
paint.setColor(color);
canvas.drawCircle(center, center, radius, paint);
// 绘制圆环
this.paint.setStrokeWidth(ringWidth);
canvas.drawCircle(center, center, innerCircle + 1 + ringWidth / 2,
this.paint);
canvas.drawCircle(center, center, innerCircle + ringWidth, this.paint);
}
//回调方法,在Activity调用此方法传值
public void get(String radius, String width, String color) {
this.radius = Float.parseFloat(radius);
this.width = Float.parseFloat(width);
this.color = Color.parseColor(color);
}
//转换格式
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
}
android画圆环
最新推荐文章于 2025-04-29 08:31:32 发布