0

ドキュメントによると:

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

プロパティの方向はフレックス 3 から利用できますが、フレックス 4.5 のようにテキスト フィールドから直接使用するのではなく、スタイルから使用する必要があります。

だから私は設定しました:

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

と:

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

Flex 4.6を使用すると機能しますが、3.6では機能しません。なぜ、または何が間違っているのでしょうか? それとも、アラビア語とヘブライ語を扱う別の方法を知っていますか? 純粋なactionScriptの可能性があります

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 with Flash Builder 4.6)。ただし、この RTL 機能は Flex 4 SDK を使用している場合にのみ存在するように感じます...そのため、Flex 4 SDK を使用し<mx:Label />てコンパイルする場合にのみ with RTL テキストを使用できます。そうでしょう。

クラスのコードを確認しましたが、このクラスが定義しているとドキュメントに記載されているスタイルまたはスタイル<mx:Label />への参照が見つかりません。うまくいけば、それは私の 3.6A SDK が古くなっていることを意味します。directiontextFieldClass

ただし、Flex 4 SDK のコードを見ると、UIComponent上記の 2 つのスタイルの使用について説明されています。しかし、UIComponentFlex 3 SDK のクラスでは、これらのスタイルについてまったく言及されていません。あなたの Flex 3 SDK が私のものよりも優れているかもしれませんし、他の誰かがこの部分を説明できるかもしれません。

于 2013-04-11T16:36:43.403 に答える