根据文件:
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的任何建议为什么或我做错了什么? 或许您知道处理阿拉伯语和希伯来语的任何不同方式吗?它可能是纯粹的actionScript
答案 0 :(得分:0)
请注意direction样式的文档说明:
注意:此样式仅在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进行编译时才能使用带有RTL文本的<mx:Label />
- 尽管我不是确定那是什么意思。
我检查了<mx:Label />
类中的代码,但是找不到对该类定义的文档所说的direction
样式或textFieldClass
样式的引用。所以希望这只意味着我的3.6A SDK已经过时了。
但是,如果您查看Flex 4 SDK中UIComponent
的代码,它会讨论使用上面提到的两种样式。但是我的Flex 3 SDK中的UIComponent
类根本没有提到这些样式。也许你的Flex 3 SDK比我的好,或者也许其他人可以解释这个部分。