2008-11-24 2 views
24

У меня есть строкакак сделать перерыв текст строки в гибком текстовое поле

var s:String = "This is a line \n This is another line."; 
this.txtHolder.text = s; //.text has \n, not a new line 

и я хочу, чтобы поместить его в текстовой области, но символ новой строки игнорируется. Как я могу убедиться, что текст ломается, где я хочу, когда он назначен?

+0

Что такое txtHolder? – 2009-04-08 00:20:15

ответ

43

На сгибать, при кодировании \n хорошо работает на mxml или любой xml определить линию просто использовать 
 линии лица.

Я имею в виду:

lazy
fox 

дает нам

lazy<br /> 
fox 
+5

Flex 4.5 кажется предпочтительным над – MonoThreaded 2011-12-23 16:04:39

3

Попробуйте

"This is a line {\n} This is another line." 

В качестве альтернативы, используйте атрибут HTMLText и использовать

"This is a line <br> This is another line." 
0

Он должен работать, или, по крайней мере < ш \> (без пробелов перед "бр") должен работать, если вы используете htmlText.

Я использую XML для заполнения TextArea и так как я не совсем уверен, как использовать HTML внутри XML (они упоминают, что я должен обернуть его CDATA тегов), но я только что сделал простой

txt.replace("\\n", "<br/>"); 

Возможно, есть лучший способ сделать это, но это хорошо работает.

EDIT: Я имел место после «ш»

0

Я просто проверял следующий код:

<?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> 

и МХ: Текст

<?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?

9

не {\ п} а { '\ п'}

+0

Вы получите лучший ответ от меня. лол. ти. – Speakeasys 2017-10-23 17:37:57

5

@radekg

ОП обращается к текстовой строке, написанной в синтаксисе MXML:

<mx:TextArea text="This is a &#13; new line" /> 
0

В Flex, если вы пытаются разместить линию рядом с предыдущей строкой. Затем просто добавьте его в предыдущую строку.

var line:String="Hello"; 
textarea1.text += line; 

Теперь textarea1, который является вашим текстовым полем, в которое вы хотите распечатать эту строку, будет добавлен к нему.

0

Я просто сделал это как следует,

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]; 
       } 
      } 

Спасибо Tolgahan Albayrak

0

Вы должны сделать:

var s:String = "This is a line" + "\n" + "This is another line."; 
this.txtHolder.text = s; 

Вот и все.

Смежные вопросы