美文网首页
【自定义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