Android:用于斜体渲染字体的Paint对象上的measureText

时间:2011-07-19 09:31:20

标签: android

我需要计算客户端提供的所有文本的长度(以像素为单位)。 问题是它们只提供了一种常规字体,并且必须由Android呈现斜体样式。一个已知的Android错误是用于斜体(呈现为斜体)字体,TextView的宽度未正确计算并且文本结尾被剪切。

您对如何正确计算这些斜体文本的长度有任何想法吗?

到目前为止,我已尝试过measureText和getTextWidths方法,但我认为该漏洞位于Android源代码中,因为斜体和普通文本的长度相同。

我发现当没有斜体字体并且必须渲染时,则在TextView源代码中,在TextPaint对象上设置skewX参数。它的值是-0.25f。

你知道这个参数是什么吗?也许你知道如何根据这个skewX因子来计算丢失的像素?

1 个答案:

答案 0 :(得分:0)

您可以使用精简空间"\u2009"来衡量文字。然后在绘制之前修剪它。对齐文本中心可能会给出最佳结果。