package com.bwie.test;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class RingView extends View {
private Context context;
private Paint paint;
public RingView(Context context) {
this(context, null);
}
public RingView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
this.paint = new Paint();
this.paint.setAntiAlias(true);
this.paint.setStyle(Paint.Style.STROKE);
}
@Override
public void onDraw(Canvas canvas) {
int center = getWidth() / 2;
int cennCricle = dip2px(context, Float.valueOf(MainActivity.mRadius));// 设置内圆半径
int cricleWith = dip2px(context, Float.valueOf(MainActivity.mWidth));// 设置圆环宽度
// 绘制内圆
this.paint.setARGB(155, 167, 190, 206);
this.paint.setStrokeWidth(2);
canvas.drawCircle(center, center, cennCricle, this.paint);
// 绘制圆环
this.paint.setARGB(255, 212, 225, 233);
this.paint.setStrokeWidth(cricleWith);
this.paint.setColor(Color.parseColor(MainActivity.mColor));
canvas.drawCircle(center, center, cennCricle + cricleWith / 2,
this.paint);
// 绘制外圆
this.paint.setARGB(155, 167, 190, 206);
this.paint.setStrokeWidth(2);
canvas.drawCircle(center, center, cennCricle + cricleWith, this.paint);
super.onDraw(canvas);
}
private static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
}
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class RingView extends View {
private Context context;
private Paint paint;
public RingView(Context context) {
this(context, null);
}
public RingView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
this.paint = new Paint();
this.paint.setAntiAlias(true);
this.paint.setStyle(Paint.Style.STROKE);
}
@Override
public void onDraw(Canvas canvas) {
int center = getWidth() / 2;
int cennCricle = dip2px(context, Float.valueOf(MainActivity.mRadius));// 设置内圆半径
int cricleWith = dip2px(context, Float.valueOf(MainActivity.mWidth));// 设置圆环宽度
// 绘制内圆
this.paint.setARGB(155, 167, 190, 206);
this.paint.setStrokeWidth(2);
canvas.drawCircle(center, center, cennCricle, this.paint);
// 绘制圆环
this.paint.setARGB(255, 212, 225, 233);
this.paint.setStrokeWidth(cricleWith);
this.paint.setColor(Color.parseColor(MainActivity.mColor));
canvas.drawCircle(center, center, cennCricle + cricleWith / 2,
this.paint);
// 绘制外圆
this.paint.setARGB(155, 167, 190, 206);
this.paint.setStrokeWidth(2);
canvas.drawCircle(center, center, cennCricle + cricleWith, this.paint);
super.onDraw(canvas);
}
private static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
}