美文网首页
【自定义View学习笔记】Canvas:DrawText,文本居

【自定义View学习笔记】Canvas:DrawText,文本居

作者: 心安1989 | 来源:发表于2018-10-22 12:00 被阅读0次

【1】Text水平居中
Text水平居中:(View的宽度-Text宽度)/2 就是Text绘制的起始点X。
重点:Text宽度的测量,Paint 有测量方法:paint.measureText(str);

 String text="Helloword";
 float textWidth=paint.measureText(text);
 float x=(getWidth()-textWidth)/2;
 canvas.drawText(text,x,100,paint);

【2】Text垂直居中:这个比较复杂,请看https://www.jianshu.com/p/1728b725b4a6
或者直接复制代码哦。

  Paint.FontMetrics fontMetrics = paint.getFontMetrics();
  float y = getHeight() / 2 + (Math.abs(fontMetrics.ascent) - fontMetrics.descent) / 2;
 canvas.drawText(text,100,y,paint);

【3】水平垂直居中自然也就呼之欲出了,综合【1】【2】。

 canvas.drawText(text,x,y,paint);

完美搞定!!!

相关文章

网友评论

      本文标题:【自定义View学习笔记】Canvas:DrawText,文本居

      本文链接:https://www.haomeiwen.com/subject/crawzftx.html