在过去,我使用的flash.text.textField对象类似于:
tf = textField();
tf.autoWrap = true
tf.autoSize = "left"
tf.width = 100;
tf.text = "Text that is too long to fit in the textfield, so it autowraps, automatically updating the height."
addChild(tf);
someNewObject = new MovieClip();
someNewObject.y = tf.height + 5;
addchild(someNewObject);这样做会动态地将我的someNewObject放在textField下面。
我正在尝试找到一个允许我这样做的TLF组件。
我试过使用mc.core.FTETextField。它可以很好地调整大小,但不支持HTML
我尝试使用Spark,但显然,设置heightByLines = TextArea的技术不再有效。
我听到有人说要使用RichEditableText,因为它支持自动调整大小,但我不知道如何使用。
这是用于静态文本的。不适用于动态文本或输入文本。
我正在编写这篇文章,所以如果你有什么建议,请用代码发布,而不是MXML。
感谢您到目前为止的回答,但是UITextfield不是TLF组件,并且RichText的示例不会导致RichText高度随着文本的增长而增长。
我需要的是一个组件,我可以设置宽度,添加TLF格式的文本,并获得该组件的高度,一旦它已经呈现。就像您添加文本时TextField所做的那样。
李
发布于 2011-03-22 03:00:36
非常简单,您只需要创建您的TextFlow对象。
<fx:Declarations>
<s:TextFlow id="textFlow">
Hello, this <s:span fontWeight="bold"> is a test</s:span> of TextFlow
</s:TextFlow>
</fx:Declarations>
<s:RichText id="richText" textFlow="{textFlow}" />但是textFlow在其中使用了Flex标签。您也可以使用转换器将真正的HTML字符串转换为TextFlow,如下所示:
<fx:Script>
<![CDATA[
import flashx.textLayout.conversion.ITextImporter;
import flashx.textLayout.conversion.TextConverter;
private const importer:ITextImporter = TextConverter.getImporter(TextConverter.TEXT_FIELD_HTML_FORMAT);
private const htmlString:String = "Hello, this <b>is a test</b> of TextFlow";
]]>
</fx:Script>
<s:RichText textFlow="{importer.importToFlow(htmlString)}"/>发布于 2011-03-21 14:50:13
您可以使用mx.core.UITextField。它支持HTML。下面是文档:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/UITextField.html
发布于 2011-03-28 06:39:36
RichEditableText可以做到这一点,但是您必须显式设置宽度属性才能进行自动捕获。根据我的经验,如果您将width设置为%100,可能会导致一些问题(对我来说,它会导致一些问题),因此我建议您显式设置width值以确保自动换行。RichEditableText的ASDoc解释了很多。
https://stackoverflow.com/questions/5374561
复制相似问题