diff --git a/CustomView/Advance/[7]DrawText.md b/CustomView/Advance/[7]DrawText.md index ca8e4a3..5476571 100644 --- a/CustomView/Advance/[7]DrawText.md +++ b/CustomView/Advance/[7]DrawText.md @@ -160,6 +160,8 @@ FontMetrics 是 Paint 的一个内部类,根据名字我们可以大致知道 ##### FontMetrics包含了以下几个数值: +> 如果没有特殊说明,一下文章中“基线”默认代表“基线Y”。 + 名称 | 正负| 释义 --------|:---:|-------------------------------------------------------- top | - | 在指定字形和大小的情况下,字符最高点与基线之间的距离 @@ -168,6 +170,23 @@ descent | + | 单个字符的最低点与基线距离的推荐值 bottom | + | 在指定字形和大小的情况下,字符最低点与基线之间的距离 leading | + | 行间距,当前行bottom与下一行top之间的距离的推荐值 +看了上面啰啰嗦嗦讲了一堆,你可能会产生一些疑问,这里我简单解释一下: + +0. FontMetrics到底有什么用? + +> FontMetrics 是字体规格,比较精确的测量出文字相关的各种数据,在很多地方都是用得到的,比较常见的就是我们的音乐播放器中的歌词显示,需要实时的变字体位置,这里就需要比较精确是数值来进行计算以确保不会出现两行文字重叠等问题。 + +1. 为什么表格中最高点距离基线的值是负值,而最低点反而是正值? + +> 这是因为手机屏幕坐标系的特殊性,在数学中常见的坐标系y轴是向上的,而对于手机而言,y轴默认是向下的,所以数值越小越靠近屏幕顶端,即最高点的数值比基线小,最高点减去基线结果自然为负数。 更多参考 [坐标系](https://github.com/GcsSloop/AndroidNote/blob/master/CustomView/Base/%5B1%5DCoordinateSystem.md) 这篇文章。 + +2. 为什么表格中很多都是推荐值? + +> 这是因为字的规格不仅受字大小的影响,而且受字体风格的印象,不同的字体风格差别很大,其结果可能会有偏差,故大部分都是推荐值。 + + + +