博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Paint.FontMetrics
阅读量:7015 次
发布时间:2019-06-28

本文共 656 字,大约阅读时间需要 2 分钟。

要了解TextView对文本的绘制,那么就需要了解Paint.FontMetircs。

官方对该类的解释是:Class that describes the various metrics for a font at a given text size., 意思是说,这玩意儿是绘制文本内容时存储该文本内容位置信息的一个类。

 

这个类里面存储的字段有哪些?有下面五个字段:

 

而这五个字段除了leading,其余的都是根据BaseLine来确定,也就是基线。

 

1、何为BaseLine

 

2、接下来说说里面字段的具体含义,请看下图:

根据上图可知:

    • ascent

      文字内容的顶部到基线的距离。即 ascent=文字内容顶部Y坐标 - 基线Y坐标。由于android中坐标系是 右下为正,所以得到的ascent实际是一个负数。

    • descent

      文字内容的底部到基线的距离。即 descent=文字内容底部Y坐标 - 基线Y坐标。

    • 基线 

      在图中,基线的坐标用Y表示。实际上,基线的Y坐标=文字内容中间线Y坐标+1/2 (文字内容高度)

    • top

      对应图中 文字所在行的top 坐标

    • bottom

      对应图中 文字所在行的bottom 坐标
      需要注意:如果设置了行间距,且文本内容产生了换行,那么这个bottom 也会将行间距包裹。所以, 图中蓝色的文字内容中间线的Y轴坐标并不一定等于 (bottom+top)/2

参考链接:

 

转载于:https://www.cnblogs.com/tangZH/p/8692910.html

你可能感兴趣的文章
用http-server开启本地服务
查看>>
CSS文本
查看>>
在windows下面配置redis集群遇到的一些坑
查看>>
C#本质论全书源码
查看>>
C#冒泡排序
查看>>
HDU 4054 Hexadecimal View【模拟】【字符串处理】
查看>>
配置cordova的android开发环境(无android studio)
查看>>
tomcat 启动慢问题
查看>>
map-reduce流程图
查看>>
【经验】CentOS 5.2 下用Yum安装Apache+PHP+MySQL环境
查看>>
linux centos service 参数详解
查看>>
利用层次遍历原理构建二叉树
查看>>
集体编程智慧(发现的一些代码问题)
查看>>
LeetCode Notes_#5 Longest Palindromic Substring
查看>>
swift 苹果开发者cocoachina学习网站 http://www.cocoachina.com/swift/
查看>>
Apache的配置详细解
查看>>
【C++ Primer】两个类相互包含的求解策略
查看>>
CS184.1X 计算机图形学导论L3V2和L3V3(部分)
查看>>
发一份shiro标准配置,特此记录
查看>>
步步为营 .NET三层架构解析 七、UI的设计(登陆页面、注册页页和添加部门页面)...
查看>>