**
基本使用
**
- 在初始化方法里创建画笔,设置画笔颜色,不设置默认黑色
mTextPaint = new Paint();
mTextPaint.setColor(Color.WHITE);
- 在onDraw方法里绘制文字
canvas.drawText(text,(float) x,(float) y+offset,mTextPaint);
这里第一个参数是要绘制的文字内容
第二个参数是文字的起始x坐标
第三个参数是文字的起始y坐标
第四个参数是使用的画笔
进阶用法
画笔设置
- 设置画笔线条粗细
mPaint.setStrokeWidth(1); - 设置文字填充方式
mPaint.setStyle(Paint.Style.FILL);//填充效果
mPaint.setStyle(Paint.Style.FILL_AND_STROKE);//填充加苗边
mPaint.setStyle(Paint.Style.STROKE);//这种方式绘制的文字是空心 - 设置文字在view中的位置
mTextPaint.setTextAlign(Paint.Align.CENTER);
属性有左中右三种 - 设置文字加粗
mTextPaint.setFakeBoldText(true); - 设置文字立体效果(加阴影)
mTextPaint.setShadowLayer(2,2,2,Color.BLACK);
绘制方式
canvas.drawTextOnPath(); 延着给定的path路径绘制文字
canvas.drawTextRun();
api23新增的方法,为了那些需要根据上下文来确定绘制内容的文字,例如阿拉伯文中有些词单独写是一个样,和其他词一起写又是一个样,中文和英文没有此类问题,这个方法用不到
参数说明:
text:要绘制的文字
start:从那个字开始绘制
end:绘制到哪个字结束
contextStart:上下文的起始位置。contextStart 需要小于等于 start
contextEnd:上下文的结束位置。contextEnd 需要大于等于 end
x:文字左边的坐标
y:文字的基线坐标
isRtl:是否是 RTL(Right-To-Left,从右向左)