0

textInputコンポーネントにtextFormatを設定しようとしています。そのようです:

var testText:TextInput = new TextInput();
testText.text = "TESTING";
addChild(testText);

var tf:TextFormat = new TextFormat();
tf.leftMargin = 50;
tf.size = 20;
tf.color = 0xFF0000;
testText.setStyle("textFormat", tf);

アドビのドキュメント(およびWeb上の多数の例)によると、これは可能であるはずです。しかし、テキストにそのスタイルが適用されることはありません。SparkとMXTextInput(およびTextArea)の両方で試しましたが、結果は常に同じです。私は何かが足りないのですか?または、これはサポートされていない操作ですか?

4

1 に答える 1

2

TextInput3つのクラスがあることに注意してください。

  • fl.controls.TextInput-これはFlashProfessionalからのものであり、Flexアプリではあまり役に立ちません。これは「textFormat」スタイルを持つものです(Flexのものにはそのようなスタイルはありません)。

  • mx.controls.TextInput -Flex3SDKの古いFlexコンポーネント

  • spark.components.TextInput -Flex4SDKのコンポーネントのSparkバージョン

最後の2つには「textFormat」スタイルがないため、上記のコードは機能しません。

その「textFormat」スタイルを使用しようとするのではなく、Flexコンポーネントがサポートする個々のスタイルを使用できます...これらはActionscriptで適用するのはやや面倒ですが、MXMLでは簡単です。リンクしたドキュメントにはスタイルセクションがあり、テキストに適用できるスタイルを確認できます...

AS3:

var t:TextInput = new TextInput();
t.setStyle("fontSize", 18);
t.setStyle("color", 0xFF0000);

MXML:

<s:TextInput fontSize="18" color="0xFF0000" />
于 2013-01-08T02:50:08.820 に答える