TextField换行问题总结

TextField换行问题总结

txt.multiline=true;
txt.htmlText = "123456789
123456789";
这是正确的,但是
txt.htmlText = "123456789
123456789";
txt.multiline=true;就错误了不能正确换行了。

注意!

 

 

 

要用<br> 就要一定设置这个属性 txt.multiline=true;

 也许还要设置 wordWrap = true

“\n” 不受此限制

正確使用TextField.htmlText的做法

TextField可以支持一些HTML Tag,例如:

info.htmlText = "<b>Bold</b>, <i>italic</i>, <u>underline</u>";

結果:

Bold, italic, underline

但是,當利用htmlText逐步加入字段,就會自動出現換行的問題,例如:

info.htmlText = "<b>Bold</b>";
info.htmlText += ", <i>italic</i>";
info.htmlText += ", <u>underline</u>";

結果:

Bold
, italic
, underline

只要trace看看:

trace(info.htmlText);

原來Flash Player自行加了<p>:

<TEXTFORMAT LEADING="3"> <P ALIGN="LEFT"><FONT FACE="Arial" SIZE="14" COLOR="#000000"><B>Bold</B></FONT> </P></TEXTFORMAT> <TEXTFORMAT LEADING="3"> <P ALIGN="LEFT"><FONT FACE="Arial" SIZE="14" COLOR="#000000">, <I>italic</I></FONT> </P></TEXTFORMAT> <TEXTFORMAT LEADING="3"> <P ALIGN="LEFT"><FONT FACE="Arial" SIZE="14" COLOR="#000000">, <U>underline</U></FONT> </P></TEXTFORMAT>

因此,正確利用htmlText逐步加入字段的做法,是應該先將字段放在一個Variable裡,最後傳到htmlText中:

var tmpTxt = "<b>Bold</b>";
tmpTxt += ", <i>italic</i>";
tmpTxt += ", <u>underline</u>";
info.htmlText = tmpTxt;

 

 

你可能感兴趣的:(html,Flash)