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

2018-10-22  本文已影响0人  心安1989

【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);

完美搞定!!!

上一篇 下一篇

猜你喜欢

热点阅读