【问题标题】:how to make text line break in flex textarea如何在flex textarea中使文本换行
【发布时间】:2008-11-24 17:33:30
【问题描述】:
我有一个字符串
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s; //.text has \n, not a new line
我想把它放到一个文本区域,但是换行符被忽略了。如何确保文本在分配时在我想要的位置中断?
【问题讨论】:
标签:
apache-flex
actionscript-3
textarea
【解决方案1】:
在 flex 上,虽然编码 \n 在 mxml 或任何 xml 上运行良好,只需使用 
 线实体即可定义线。
我的意思是:
lazy
fox
给我们
lazy<br />
fox
【解决方案3】:
@radekg
OP指的是用MXML语法编写的文本字符串:
<mx:TextArea text="This is a new line" />
【解决方案4】:
试试
"This is a line {\n} This is another line."
或者,使用 htmlText 属性并使用
"This is a line <br> This is another line."
【解决方案5】:
如果您使用的是 htmlText,它应该可以工作,或者至少 (“br”之前没有空格)应该可以工作。
我使用 XML 来填充 TextArea,因为我不完全确定如何在 XML 中使用 HTML(他们提到我应该用 CDATA 标签包装它)但我只是做了一个简单的
txt.replace("\\n", "<br/>");
也许有更好的方法来解决它,但效果很好。
编辑:我在“br”之后有一个空格
【解决方案6】:
我刚刚测试了以下代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="onComplete();">
<mx:Script>
<![CDATA[
private function onComplete():void {
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s;
}
]]>
</mx:Script>
<mx:TextArea id="txtHolder" />
</mx:WindowedApplication>
和 mx:Text
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="onComplete();">
<mx:Script>
<![CDATA[
private function onComplete():void {
var s:String = "This is a line \n This is another line.";
this.txtHolder.text = s;
}
]]>
</mx:Script>
<mx:Text id="txtHolder" />
</mx:WindowedApplication>
两者都工作得很好。也许您正在使用 mx:TextInput 或 mx:Label?
【解决方案7】:
在 Flex 中,如果您尝试将行放在上一行旁边。然后将其附加到上一行。
var line:String="Hello";
textarea1.text += line;
现在 textarea1 是您要在其中打印此字符串的文本区域。
【解决方案8】:
我只是按照以下方式进行的,
protected function addToTextArea(array:Array):void
{
textArea.text = "Array Elements are:";
for(var k:int = 0; k < array.length; k=k+1)
{
textArea.text = textArea.text +"\n"+ array[k];
}
}
谢谢托尔加汉阿尔拜拉克
【解决方案9】:
你应该这样做:
var s:String = "This is a line" + "\n" + "This is another line.";
this.txtHolder.text = s;
就是这样。