Flex 3 HTMLTextは高さを計算し、スパンタグをストリップします
-
10-10-2019 - |
質問
現在、Flex 3 HTMLTextに2つの問題があります。
1)テキストのhtmltextを設定するとき:
mytext.htmltext =u003Chtml text stored in my mysql database>
高さが間違っていることを計算します。ほとんどの場合、テキストの上下に大量のパディング(または空白)が追加されています。何が起こるかはわかりませんが、通常よりも高くテクシエイトを計算します。
2) u003Cspan>HTMLにタグを入れた場合、それは自動的にそれらを取り除きます(単にそれらを無視するのではなく)。スパンタグを使用して、テキストの特定の部分を動的に見つけることができます。例えば:u003C/span>
u003Cspan class="salutation">親愛なる、u003C/span> u003Cspan class="tag">[名]u003C/span>
htmltextに挿入されており、それらを使用して、変数データの挨拶とタグを解析します。
これら2つの問題の解決策を知っている人はいますか? HTMLの断片を解析する方法に関する代替アイデアはありますか? htmltextを改善する方法はありますか? Textheightを正しく測定したり、パディングを取り外したりする方法
ありがとう!
解決
基本的に、タグは、フレックスがこれらの要素で高さを正しく計算するために明示的に設定されている幅と高さが明示的に設定されています。また、使用することもできます。
invalidateSize();
validateSize();
サイズの検証を強制するために、それは時には役立ちます!
他のヒント
XMLを使用する前に、これら2つの行を追加します。
XML.ignoreWhitespace = true; XML.prettyPrinting = false;
これは、テキストの上下に追加された行の世話をする必要があります。
IngoreWhitespace テキストノードからの導きと末尾の空白をストリップします。
かなり印刷, 、Trueに設定すると、XML出力をフォーマットし、ノードをインデントし、新しいライン文字を追加して読みやすくしますが、テキスト出力にも影響します。たとえば、このような構造がある場合:<p><span class="test">This is a test.</span></p>
フラッシュは出力されます:
<p> <span class="test"> This is a test. </span> </p>
これにより、テキストフィールドが表示されます。
(newline) (newline) This is a test. (newline) (newline)
フラッシュプラグインは、htmlタグを削除します。
styleSheet
プロパティが適切に設定されていません。したがって、あなたの場合、それは削除されます<span>
タグと独自の追加<P>
と<FONT>
代わりにタグを使用して指定したフォント情報に従ってdefaultTextFormat
またsetTextFormat
(設定したらhtmltextをトレースしてみてください - 表示されます)。テキストフィールドを設定する必要がありますstyleSheet
独自のタグを保持したい場合は、実際のスタイルシートのプロパティ。HTMLタグを使用して必要な情報を解析することは、有効な方法です。私は通常、{0}のような番号付きのプレースホルダーを使用し、
string.replace ()
動的値を挿入します。