0

私はしばらくの間理解しようとしてきました。私は通常、テキストフィールドを適切に機能させることができますが、これは私を狂わせるだけです。

HTML 形式のテキスト (XML ファイルに含まれる) を挿入するこの TextField があります。何らかの理由で、ほとんどすべてのタグが無視されます ( <b><i><u><ul>および<li>)。<br />タグを適切にレンダリングすることしかできません。スタイルシートを使用できますが、リストが機能するとは思いません...

設定方法は次のとおりです。

挿入するテキスト:

<text>
    <![CDATA[<b>Some bold text </b>and some normal text <br/><u>This text is underlined</u> normal text to compare<br/><i/>This text is italic</i>]]>
</text>

TextField の設定方法:

// When my Class' setup method is called, I set those properties
_tf = _transcript.getTextFormat();
_tf.font = "Verdana";
_tf.size = 12;
_transcript.embedFonts  = true;
_transcript.multiline   = true;
_transcript.autoSize    = TextFieldAutoSize.LEFT;
_transcript.wordWrap    = true;

// In an function, later on
_transcript.htmlText = transcript;  // transcript is a parameter. Basically, the XML I wrote above
_transcript.setTextFormat(_tf);

私はVerdana埋め込み (およびバリアント) を持っています。サイズ レポート 生成し、 Font.enumerateFonts() をトレースして確認しました。設定後に textField の htmlText を出力すると、次のようになります。

<P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">Some bold text and some normal text </FONT></P><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">This text is underlined normal text to compare</FONT></P><P ALIGN="LEFT"><FONT FACE="Verdana" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">This text is italic</FONT></P>

なぜ何も機能しないのかについて、私は本当にアイデアがありません。

ありがとうございました

編集:そこで、XML に CDATA がないことをテスト<b>し、AS3 コードにタグを追加することにしました。どちらも機能しませんでした。フォントを正しく埋め込む方法がわかりませんが、Flash はフォントの使用を拒否しています。

4

1 に答える 1

0

これを機能させるために、次の構文を使用しました。

<mx:Text>
    <mx:htmlText>
        <![CDATA[<b>Some bold text </b>and some normal text <br/><u>This text is underlined</u> normal text to compare<br/><i/>This text is italic</i>]]>
    </mx:htmlText>
</mx:Text>

質問に追加のスクリプトを含めようとはしませんでしたが、htmlタグはこのように処理されているようです。

また、構文をチェックするために使用したlivedocsリファレンスもあります...

http://livedocs.adobe.com/flex/3/html/help.html?content=textcontrols_04.html

あなたの質問を振り返ってみると、おそらくFlexを使用していないことに気づきました。わかりました。これはFlex固有です。申し訳ありません。

于 2012-03-01T09:31:28.103 に答える