//画笔的设置
mPaint.setAntiAlias(false);//消除锯齿
mPaint.setStrokeWidth(mCircleWidth); // 设置圆环的宽度
mPaint.setStrokeCap(Paint.Cap.ROUND); // 画出的线是线段,并且线段的末端是圆头
mPaint.setStyle(Paint.Style.STROKE); // 设置空心
mPaint.getTextBounds(titleText, 0, titleText.length(), mBound);//以 (0,0)为起点返回一个匹配当前的字符最小的矩形
---------------------------------------------------------------------
getPaddingTop() //获取设置的view的padding值
setMeasuredDimension(mWide, mHeight);//在onmeasure方法中,重新构造了view的大小
postInvalidate(); //重画view postInvalidate()在工作者线程中被调用 刷新view
requestLayout(); //重画view 当被刷新的view需要重新刷新父类布局的时候进行调用
---------------------------------------------------------------------
//获取 attrs文件中的属性值
TypedArray a =context.getTheme().obtainStyledAttributes(attrs, R.styleable.SecondView, defStyleAttr, 0);
//限定弧形区域的上下左右的位置
RectF oval=new RectF(float left, float top, float right, float bottom);
/**
* oval :指定圆弧的外轮廓矩形区域。
startAngle: 圆弧起始角度,单位为度。
sweepAngle: 圆弧扫过的角度,顺时针方向,单位为度。
useCenter: 如果为True时,在绘制圆弧时将圆心包括在内,通常用来绘制扇形。
paint: 绘制圆弧的画板属性,如颜色,是否填充等。
其中x軸正极是 0 ,y轴的正极是 -90
*/
canvas.drawArc(oval, -90, mProgress, false, mPaint);
/**
画一个圆
cx:原点x轴位置
cy:原点y轴位置
radius:圆的半径
paint:画笔 可以通过画笔的设置达成很多的效果
*/
canvas.drawCircle(float cx, float cy, float radius, Paint paint);
//一个矩形,一般字符串和图片都是需要通过这个矩形作为载体进行画图 以下的mbound就是一个矩形对象
Rect rect=new Rect();
mPaint.getTextBounds(titleText, 0, titleText.length(), mBound);//以 (0,0)为起点返回一个匹配当前的字符最小的矩形
自定义view常用属性
最新推荐文章于 2022-02-03 19:37:54 发布