【发布时间】:2010-10-17 20:48:10
【问题描述】:
我有一个
有谁知道这样做的好方法吗?
谢谢
【问题讨论】:
标签: apache-flex
我有一个
有谁知道这样做的好方法吗?
谢谢
【问题讨论】:
标签: apache-flex
字体是一种复杂的野兽。对于给定的文本,您可以使用以下近似公式非常简单地找到字符串长度并计算最大允许字体大小:
var max_allowable_size:int = yourLabel.width / yourLabel.text.length;
这可能会导致某些字体出现严重问题,即:
我宁愿建议您定义两种不同的样式,一种是常规样式,另一种是后备样式,字体大小设置为最小,当您遇到较长的标签文本时切换到该样式。您可以使用上述公式中的默认字体大小来计算切换的阈值限制。当然,如果您必须支持本地化/多语言,则需要进行一些实验。
最后,如果您要使用最常用字体以外的任何字体,请始终嵌入字体。
【讨论】:
有一个 measureText 函数。签出:
http://frankieloscavio.blogspot.com/2008/01/flex-use-measuretexttxt-to-calculate.html http://livedocs.adobe.com/flex/3/langref/mx/core/UITextFormat.html#measureText()
您可能可以使用 measureText 并减小字体大小直到合适为止。
【讨论】: