0

根据文档:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/Label.html

属性方向在 flex 3 中可用,但您必须从样式中使用它,而不是像在 flex 4.5 中那样直接从文本字段中使用

所以我设置:

<mx:Style>
    .myFontStyle {
    direction: "rtl";
    }
</mx:Style>

和:

<mx:Label id="rtlLabel" styleName="myFontStyle"/>

当我使用 flex 4.6 但不适用于 3.6 时它正在工作,有什么建议为什么或我做错了什么?或者,也许您知道处理阿拉伯语和希伯来语的任何不同方式?它可能是纯动作脚本

4

1 回答 1

0

请注意,方向样式的文档说:

注意:此样式仅适用于 MX 组件将 UIFTETextField 指定为其 textFieldClass 时。

因此,要完成这项工作,您还需要设置textFieldClass样式:

<mx:Style>
    .myFontStyle {
    direction: "rtl";
    textFieldClass: ClassReference("mx.core.UIFTETextField");
    }
</mx:Style>

我只是尝试将其作为测试,但是在使用 Flex 3 SDK 时,不包括此类(至少在我的环境中),并且我收到一个编译错误,说它找不到UIFTETextField. 我不经常使用 Flex 3 SDK,所以我可能只有一个旧版本(我正在使用这个 SDK:Flex 3.6A 和 Flash Builder 4.6)。但是,我有一种感觉,这种 RTL 功能仅在使用 Flex 4 SDK 时才存在……所以您只能在使用 Flex 4 SDK<mx:Label />进行编译时使用 with RTL 文本——尽管我不确定这有什么意义那将是。

我检查了<mx:Label />班级中的代码,但找不到任何对direction样式或textFieldClass文档所述此类定义的样式的引用。所以希望这只是意味着我的 3.6A SDK 刚刚过时。

但是,如果您查看UIComponentFlex 4 SDK 中的代码,它会谈到使用上述两种样式。但是UIComponent我的 Flex 3 SDK 中的类根本没有提到这些样式。也许你的 Flex 3 SDK 比我的好,或者也许其他人可以解释这部分。

于 2013-04-11T16:36:43.403 回答