我需要计算我的客户提供的所有文本的像素长度。
问题是它们只提供了一种常规字体,斜体样式必须由android呈现。已知的android错误是,对于斜体(呈现为斜体)字体,textview的宽度计算不正确,文本的结尾被剪切。
你知道如何正确计算这些斜体文本的长度吗?
到目前为止,我已经尝试过measuretext和gettextwidths方法,但我认为这个bug是android源代码中的某个地方,因为斜体文本和普通文本的长度是相同的。
我发现,当没有斜体字体时,必须对其进行渲染,然后在textview源代码中,对textpaint对象skewx参数进行设置。它的值是-0.25f。
你知道这个参数是什么吗?也许你知道如何根据这个偏斜因子计算丢失的像素?
最佳答案
您可以使用一个小空格"\u2009"
来测量文本。然后在画之前修剪它。将文本居中对齐可能会产生最佳效果。