gpt4 book ai didi

Android TextView elegantTextHeight 有什么作用? (API 21)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:54:54 25 4
gpt4 key购买 nike

我遇到过 TextView 的 elegantTextHeight 属性,但在使用它时没有看到任何变化。

它有什么作用?我该如何使用它?

最佳答案

简答:这是一种为某些语言关闭“字体压缩”优化的方法。如果你不明白我在说什么,那可能是因为你的语言没有“字体压缩”优化,这意味着你不必关心它。

长答案:

先看看文档:

Set the paint's elegant height metrics flag. This setting selects font variants that have not been compacted to fit Latin-based vertical metrics, and also increases top and bottom bounds to provide more space.

这是什么意思?

在某些语言中,某些字形可能非常高。像这样:

Thai + Latin

(如果你好奇的话,这些是我从 Thai Alphabet 中随机挑选的字符。)

看左边的文字。真的很高吧?但事实是,它不够高。它应该更高。

对于“高文本”语言,字体通常有 2 种变体:原始变体和压缩变体。压缩版本是为了确保当不同语言的文本放在一起时,文本不会看起来很奇怪。默认版本(至少在 Android 的 Paint 中)是压缩版本,如上面的屏幕截图所示。

但有时您可能需要原始变体。如果需要,请添加此行:


paint.setElegantTextHeight(真);

然后您的文本将使用原始(优雅)变体绘制。 Original variant

泰文变高了,看到了吗?

所以,现在事情很清楚了:一些语言可能有非常高的字形,并且默认情况下它们是紧凑的。 setElegantTextHeight(true) 将:

  1. 切换到原始的、非压缩的、优雅的变体来绘制文本。
  2. 增加上下边界以为较高的文本提供更多空间。

关于Android TextView elegantTextHeight 有什么作用? (API 21),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com