Update
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
<br/>
|
<br/>
|
||||||
* 2.字的特点,字的显示不仅有有中文汉字,还有一些特殊字符,并且大部分是根据下面对齐的,如果把对齐的基线放到上面并使其显示整齐,设计太麻烦,如下:<br/>
|
* 2.字的特点,字的显示不仅有有中文汉字,还有一些特殊字符,并且大部分是根据下面对齐的,如果把对齐的基线放到上面并使其显示整齐,设计太麻烦,如下:<br/>
|
||||||
<br/>
|
<br/>
|
||||||
* 3.字体的特点,我们都知道,字有很多的字体,不同字体的大小是不同的,如果以以上面为基准线而让其底部对齐,这设计难度简直不敢想象:<br/>
|
* 3.字体的特点,我们都知道,字有很多的字体风格,不同字体风格的大小是不同的,如果以以上面为基准线而让其底部对齐,这设计难度简直不敢想象:<br/>
|
||||||
<br/>
|
<br/>
|
||||||
**综上所述,基线y放到下面不仅符合人的书写习惯,而且更加便于设计。**
|
**综上所述,基线y放到下面不仅符合人的书写习惯,而且更加便于设计。**
|
||||||
|
|
||||||
@@ -172,19 +172,21 @@ leading | + | 行间距,当前行bottom与下一行top之间的距离的推荐
|
|||||||
|
|
||||||
看了上面啰啰嗦嗦讲了一堆,你可能会产生一些疑问,这里我简单解释一下:
|
看了上面啰啰嗦嗦讲了一堆,你可能会产生一些疑问,这里我简单解释一下:
|
||||||
|
|
||||||
0. FontMetrics到底有什么用?
|
0、 FontMetrics到底有什么用?
|
||||||
|
|
||||||
> FontMetrics 是字体规格,比较精确的测量出文字相关的各种数据,在很多地方都是用得到的,比较常见的就是我们的音乐播放器中的歌词显示,需要实时的变字体位置,这里就需要比较精确是数值来进行计算以确保不会出现两行文字重叠等问题。
|
> FontMetrics 是字体规格,比较精确的测量出文字相关的各种数据,在很多地方都是用得到的,比较常见的就是我们的音乐播放器中的歌词显示,需要实时的变字体位置,这里就需要比较精确是数值来进行计算以确保不会出现两行文字重叠等问题。
|
||||||
|
|
||||||
1. 为什么表格中最高点距离基线的值是负值,而最低点反而是正值?
|
1、为什么表格中最高点距离基线的值是负值,而最低点反而是正值?
|
||||||
|
|
||||||
> 这是因为手机屏幕坐标系的特殊性,在数学中常见的坐标系y轴是向上的,而对于手机而言,y轴默认是向下的,所以数值越小越靠近屏幕顶端,即最高点的数值比基线小,最高点减去基线结果自然为负数。 更多参考 [坐标系](https://github.com/GcsSloop/AndroidNote/blob/master/CustomView/Base/%5B1%5DCoordinateSystem.md) 这篇文章。
|
> 这是因为手机屏幕坐标系的特殊性,在数学中常见的坐标系y轴是向上的,而对于手机而言,y轴默认是向下的,所以数值越小越靠近屏幕顶端,即最高点的数值比基线小,最高点减去基线结果自然为负数。 更多参考 [坐标系](https://github.com/GcsSloop/AndroidNote/blob/master/CustomView/Base/%5B1%5DCoordinateSystem.md) 这篇文章。
|
||||||
|
|
||||||
2. 为什么表格中很多都是推荐值?
|
2、为什么表格中很多都是推荐值?
|
||||||
|
|
||||||
> 这是因为字的规格不仅受字大小的影响,而且受字体风格的印象,不同的字体风格差别很大,其结果可能会有偏差,故大部分都是推荐值。
|
|
||||||
|
|
||||||
|
|
||||||
|
> 这是因为字的规格不仅受字大小的影响,而且受字体风格的影响,不同的字体风格差别很大,其结果可能会有偏差,故大部分都是推荐值。
|
||||||
|
|
||||||
|
3、 具体绘制的文本不同会影响 FontMetrics 中的数值吗?
|
||||||
|
|
||||||
|
> 不会, **FontMetrics中的数值受字体大小(FontSize) 和 字体风格(Typeface) 影响**, 而不会因为具体绘制的内容不同而改变,给Paint设置完字体大小和字体风格后就能获取到正确的FontMetrics。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user