一般使用自定义View需要重写onDraw()函数,如果需要使用wrap_content样式,则还需要重写onMeasure函数。
通常我们绘制一个圆环是通过绘制两个半径不同圆心相同的颜色不一样的圆
下面介绍使用canvas.drwARc()函数绘制圆环(或者圆弧)
canvas.drawArc(rectF,startDegree,60,false,mPaint);
该函数有四个参数
参数1:一个RectF类型对象,表示该绘制椭圆的外切矩形的坐标。(RectF和Rect的区别在于里面记录的坐标为float参数而Rect记录int参数)
参数2:startDegree:int类型,表示开始绘制的角度
参数3:60:int类型,要绘制多少角度
参数4:false:boolean类型,表示是否绘制圆心到圆弧的连线
参数5:mPaint:Paint类型,绘图的画笔
要绘制一个圆环需要设置绘制的角度为360度,以及参数4为false(不需要绘制到圆心的连线),此外:
mPaint的style需要设置为
//Paint.Style.FILL :填充内部
//Paint.Style.FILL_AND_STROKE :填充内部和描边
//Paint.Style.STROKE :仅描边
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(100);//描边宽度