0

現在、Flex3htmlTextで2つの問題があります。

1)テキストのhtmlTextを設定する場合:

myText.htmlText =<mysqlデータベースに保存されているhtmlテキスト>

高さの計算が間違っています。ほとんどの場合、テキストの上下に大量のパディング(または空白)が追加されます。何が起こるかはわかりませんが、textHeightが通常よりもはるかに高く計算されます。

2)HTMLに<span>タグを入れると、(単に無視するのではなく)自動的に削除されます。スパンタグを使用して、テキストの特定の部分を動的に検索できるようにしています。例えば:

<spanclass="salutation">親愛なる</span><spanclass ="tag">[名]</span>

はhtmlTextに挿入され、変数データの敬礼とタグを解析するために使用します。

誰かがこれらの2つの問題の解決策を知っていますか?HTMLの断片を解析する方法に関する代替案はありますか?htmlTextを改善する方法はありますか?textHeightを正しく測定したり、パディングを削除したりする方法は?

ありがとう!

4

2 に答える 2

1

基本的に、flex がこれらの要素の高さを正しく計算するには、タグに幅と高さを明示的に設定する必要があります。また、次を使用できます。

invalidateSize();
validateSize();

サイズの検証を強制的に実行するには、これが役立つ場合があります!

于 2011-03-09T21:21:15.687 に答える
0
  1. XML を使用する前に、次の 2 行を追加します。

    XML.ignoreWhitespace = true;
    XML.prettyPrinting = false;
    

    これにより、テキストの上下に追加された行が処理されます。

    ignoreWhitespaceは、テキスト ノードから前後の空白を取り除きます。
    prettyPrintingを true に設定すると、XML 出力がフォーマットされ、ノードがインデントされ、改行文字が追加されて読みやすくなりますが、テキスト出力にも影響します。たとえば、次のような構造がある場合:

    <p><span class="test">This is a test.</span></p>
    

    Flash は次のように出力します。

    <p>
        <span class="test">
            This is a test.
        </span>
    </p>
    

    これにより、TextField が表示されます。

    (newline)
    (newline)
    This is a test.
    (newline)
    (newline)
    
  2. styleSheetプロパティが適切に設定されていない場合、Flash プラグインはすべての HTML タグを削除します。したがって、あなたの場合、orを使用して指定したフォント情報に従って、タグを削除し、代わりに<span>独自の<P>andタグを追加します(設定後に htmlText をトレースしてみてください-表示されます)。独自のタグを保持したい場合は、TextField のプロパティを実際の StyleSheet に設定する必要があります。<FONT>defaultTextFormatsetTextFormatstyleSheet

  3. HTML タグを使用して必要な情報を解析することは有効な方法です。通常、{0} のような番号付きのプレースホルダーを使用string.replace ()して、動的な値を挿入します。

于 2011-01-12T01:05:06.697 に答える