package com.bwie.test.liumengxin1508a2017928; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.widget.TextView; /** * Created by dell on 2017/9/28. */ public class MyCustomView extends TextView { private final Paint paint; private final Context context; public MyCustomView(Context context, Paint paint, Context context1) { super(context); this.paint = paint; this.context = context1; } public MyCustomView(Context context, AttributeSet attrs) { super(context, attrs); this.context = context; this.paint = new Paint(); this.paint.setAntiAlias(true); //消除锯齿 this.paint.setStyle(Paint.Style.STROKE); //绘制空心圆 } public MyCustomView(Context context, AttributeSet attrs, int defStyleAttr, Paint paint, Context context1) { super(context, attrs, defStyleAttr); this.paint = paint; this.context = context1; } public MyCustomView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes, Paint paint, Context context1) { super(context, attrs, defStyleAttr, defStyleRes); this.paint = paint; this.context = context1; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint p1=new Paint(); Paint p2=new Paint(); Paint p3=new Paint(); int wi=getWidth()/2; int he=getHeight()/2; p1.setStyle(Paint.Style.STROKE); p2.setStyle(Paint.Style.STROKE); p3.setStyle(Paint.Style.STROKE); p1.setStrokeWidth(5); p2.setStrokeWidth(5); p3.setStrokeWidth(5); p1.setColor(Color.RED); p2.setColor(Color.YELLOW); p3.setColor(Color.BLUE); canvas.drawCircle(wi-150,he-150,130,p1); canvas.drawCircle(wi-30,he-30,100,p2); canvas.drawCircle(wi+50,he+50,70,p3); } /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } } 效果![]()