常用方法:
构造方法
Paint mPaint = new Paint();
重置画笔
mPaint.reset();
设置颜色
mPaint.setColor(Color.RED); /setARGB(int a, int r, int g, int b)
设置透明度
mPaint.setAlpha(255);
设置样式
mPaint.setStyle(Paint.Style.FILL)
Paint.Style.FILL 填充内容
Paint.Style.STROKE 描边
Paint.Style.FILL_AND_STROKE
设置画笔宽度
mPaint.setStrokeWidth(50)
设置线帽
mPaint.setStrokeCap(Paint.Cap.BUTT)
Paint.Cap.BUTT 没有
Paint.Cap.ROUND 圆形
Paint.Cap.SQUARE
设置线段连接处样式
mPaint.setStrokeJoin(Paint.Join.MITER);
Join.MITER(结合处为锐角)
Join.Round(结合处为圆弧)
Join.BEVEL(结合处为直线)
防锯齿
mPaint.setAntiAlias(true);
会损失一定的性能
设置是否使用图像抖动处理
mPaint.setDither(true);
会使绘制的图片等颜色更加的清晰以及饱满。(也是损失性能)
文字绘制:
获得字符行间距
mPaint.getFontSpacing()
获得字符之间的间距
mPaint.getLetterSpacing();
设置字符之间的间距
mPaint.setLetterSpacing(letterSpacing)
设置文本删除线
mPaint.setStrikeThruText(true);
是否设置下划线
mPaint.setUnderlineText(true);
设置文本大小
mPaint.setTextSize(textSize)
获取文本大小
mPaint.getTextSize();
设置字体类型
mPaint.setTypeface(Typeface.BOLD)
Typeface.BOLD 粗体
Typeface.ITALIC 斜体
加载自定义字体
Typeface.create(familyName, style)
设置文字倾斜
mPaint.setTextSkewX(-0.25f);
官方推荐的-0.25f是斜体
文本对齐方式
mPaint.setTextAlign(Align.LEFT)
Align.LEFT 左对齐
Align.CENTER 中间对其
Align.RIGHT 右对齐
计算制定长度的字符串
mPaint.breakText(text, measureForwards, maxWidth, measuredWidth)
text:字符串
measureForwards:boolean
maxWidth:int
measuredWidth:float[] 结果接收
获取文本的矩形区域(宽高)
mPaint.getTextBounds(text, index, count, bounds)`
`mPaint.getTextBounds(text, start, end, bounds)
获取文本的粗略宽度
mPaint.measureText(str);
得到每一个字符的宽度
`
mPaint.getTextWidths(str, measuredWidth);
mPaint.getTextWidths(text, start, end, widths)`textWidths字符数