所有 Spark 组件都使用 Flash Player 10 中的新文本引擎。这些新类为控制文本度量标准、垂直文本以及连字、双向文本等字形元素提供了低级支持。Flex 4 SDK 在使用文本的所有 Spark 组件中用到了这一功能。有关 Flex 4 提供的文本基元和文本组件的更多信息,请参阅 Spark 文本基元规范*中的“文本基元”部分。
Spark 组件现在还使用 Flash Player 10 和 AIR 1.5 中的 DefineFont4 嵌入字体格式。默认情况下,MX 组件不使用 DefineFont4。将 Spark 和 MX 组件混合在一个应用程序中并嵌入字体时,这会造成一些开销。如果要对所有组件使用同一种嵌入字体,您需要为项目添加一个额外的主题编译器参数。借助这个新主题,MX 和 Spark 组件都将使用同一个 DefineFont4 字体引擎。在“Properties”(属性)->“Flex Compiler”(Flex 编译器)面板中选中“Use Flash Text Engine in MX components”(在 MX 组件中使用 Flash 文本引擎)选项,即可添加这个编译器参数。(请参阅图 3)。

图 3.允许 MX 组件使用 DefineFont4 字体引擎。
在 Flex 4 应用程序中使用文本时,我建议使用 Flex 4 的三个 Spark 文本组件之一。它们都使用 flash player 的新文本引擎,并且为设备字体和双向文本提供更高质量的文本、字距微调和旋转。以下是 Flex 4 中提供的文本组件之间的区别。
| 多行 | 截断 | 可选择 | |
|---|---|---|---|
| mx.controls.Label | 否 | 是 | 是 |
| mx.controls.Text | 是 | 否 | 是 |
| spark.components.Label | 是 | 是 | 否 |
| spark.primitives.RichEditableText | 是 | 是 | 否 |
| spark.primitives.RichText | 是 | 否 | 是 |
| 可编辑 | HTML 格式化 | 滚动 | |
|---|---|---|---|
| mx.controls.Label | 否 | 是 | 否 |
| mx.controls.Text | 否 | 是 | 否 |
| spark.components.Label | 否 | 否 | 否 |
| spark.primitives.RichEditableText | 否 | 是 | 否 |
| spark.primitives.RichText | 是 | 是 | 是 |
本文探讨了如何在Flex4应用程序中使用Spark组件优化文本显示,包括文本度量、垂直文本、连字、双向文本的支持,以及如何通过DefineFont4嵌入字体格式来提升用户体验。文章还对比了不同文本组件的功能特性,如多行、截断、可选择等,并提供了在Flex4中高效使用文本组件的建议。

被折叠的 条评论
为什么被折叠?



