2013-04-11 105 views
0

根據文檔:方向屬性不工作

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

屬性方向是從Flex 3的avaliable但你必須喜歡它是使用它的風格,而不是從文本字段中直接使用在柔性4.5

,所以我設置:

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

和:

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

它正在工作,當我使用flex 4.6但不是3.6任何建議爲什麼或我做錯了什麼? 或者,也許你知道任何不同的方式來處理阿拉伯語和希伯來語言?它可能是在純ActionScript

回答

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:使用Flash Builder 4.6的Flex 3.6A)。不過,我有一種感覺,這種RTL功能僅在使用Flex 4 SDK時才存在......因此,只有在編譯w/Flex 4 SDK時纔可以使用帶有RTL文本的<mx:Label /> - 儘管我不確定這一點那會是。

我檢查了我的<mx:Label />類中的代碼,但我找不到任何對此類定義的文檔說明的direction樣式或textFieldClass樣式的引用。所以希望這只是意味着我的3.6A SDK已經過時了。

但是,如果您在Flex 4 SDK中查看UIComponent的代碼,它將討論如何使用上述兩種類型。但我的Flex 3 SDK中的UIComponent類完全沒有提及這些樣式。也許你的Flex 3 SDK比我的好,或者別人可以解釋這一部分。

+0

不幸的是,我無法訪問Flex3.6中的UIFTETextField,我不能使用較新的Flex 4 SDK,因爲它的舊項目和它包含了很多需要爲flex4重寫的解決方案,它也需要很多時間。 – 2013-04-12 09:34:33