美文网首页Android技术知识Android知识Android开发经验谈
Android Text文字大小与文字宽高之间的方程式

Android Text文字大小与文字宽高之间的方程式

作者: SLTPAYA | 来源:发表于2017-09-08 10:37 被阅读0次

总结Android TextView中设置文字字号(sp)与文字的宽度高度(dp)之间的对应关系

  • 最重要的是公式:

    Heigth = (size + 0.00000007) / 0.7535
    Width = size(宽度和字体字号是相同的,12sp字体,单字宽为12dp)
    

用数据说话

  • 图中字体大小单位为sp, 宽高均为dp
各个数据之间的关系

TextView字号从12sp到44sp依次测量出字体的高度和宽度

Paint.FontMetrics m = paint.getFontMetrics();
float height = m.bottom - m.top;//得到字体的高度: px,通过与设备像素密度相除得到相应的dp值(注: 使用paint.getTextBounds()方法测出的结果只属于字体的显示范围,不是其实际显示所占有的空间)
float width = paint.measureText(content, 0, 1);//宽度通过measureText测出单个字符的宽度

通过excel整理得x,y散点图

得到公式:

Heigth = (size + 0.00000007) / 0.7535
Width = size(宽度和字体字号是相同的,12sp字体,单字宽为12dp)

将计算结果与实际结果求差

  • 误差保持在0.001-0.003dp之间(基本可以忽略不计)

相关文章

  • Android Text文字大小与文字宽高之间的方程式

    总结Android TextView中设置文字字号(sp)与文字的宽度高度(dp)之间的对应关系 最重要的是公式:...

  • Css基础第三天

    1、行高 ◆浏览器默认文字大小浏览器默认文字大小:16px行高:是基线与基线之间的距离行高=文字高度+上下边距一行...

  • 对文字和行高的理解

    文字与行高 对照上图 1. 文字大小是顶线与底线之间的距离 2. 行高大小是基线与基线之间的距离 3....

  • CSS基础<三>

    1. 行高 行高的定义行高是基线与基线之间的距离行高=文字高度+上下间距浏览器默认文字大小:16px一行文字行高和...

  • TextView相关

    1设置多种文字大小 String text = "您已经连续走了5963步"int start = text.in...

  • UILabel的一些属性

    属性部分 设置显示文字label.text = @"hello world!"; 设置显示文字大小label.fo...

  • ReactNative-UI经验

    一、横放左右两个text控件,右边的text随文字大小,左边的text自动占满剩下的空间。多用于tableView...

  • 单位

    px: 固定单位百分比 (宽高?文字大小?line-height?position?)em: 相对单位,相对于父元...

  • UGUI一些散乱的笔记

    如果希望text在缩放之后依然清晰,可以试试先把文字大小设置为60,再把text的rect transform的s...

  • 自定义 view - 绘制文字

    canvas 种绘制文字一向是个难题,关于文字大小,轮廓,宽高的问题更是涉及到好几个到API,尤其是我们要绘制多行...

网友评论

    本文标题:Android Text文字大小与文字宽高之间的方程式

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