2008-11-24 16 views
24

tengo una cadenacómo hacer salto de línea en el área de texto de texto flex

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

y quiero ponerlo en un área de texto, pero el carácter de nueva línea se ignora. ¿Cómo puedo asegurarme de que el texto se rompa donde quiero cuando se asigna?

+0

¿Qué es txtHolder? –

Respuesta

43

En la flexión, mientras que la codificación \n está funcionando bien en mxml o cualquier xml para definir una línea sólo tiene que utilizar 
 línea de la entidad.

quiero decir:

lazy
fox 

nos da

lazy<br /> 
fox 
+5

Flex 4.5 parece preferir sobre – MonoThreaded

3

Trate

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

alternativa, puede utilizar el atributo htmlText y utilizar

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

Se debe trabajar o por lo menos < br \> (sin los espacios antes de que el "ancho") debería funcionar si está utilizando htmlText.

que estaba usando XML para rellenar el TextArea y ya que no estoy del todo seguro de cómo utilizar HTML dentro de XML (que mencionar que debería envolverlo con etiquetas CDATA), pero acabo de hacer un simple

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

Quizás hay una mejor manera de hacerlo, pero esto funciona bien.

EDIT: Yo tenía un espacio después del "ancho"

0

acabo la prueba siguiente código:

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

y con MX: Texto

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

Ambos funcionan bien. Tal vez estés usando mx: TextInput o mx: Label?

9

no {\ n} pero

El PO se refiere a la cadena de texto escrito en la sintaxis MXML { '\ n'}

+0

Usted gana la mejor respuesta de mí. lol. ty. – Speakeasys

5

@radekg:

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

En Flex si están tratando de colocar línea al lado de la línea anterior. Entonces solo añádelo a la línea anterior.

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

Ahora textarea1 que es su área de texto en la que desea imprimir esta cadena se agregará a ella.

0

que acabo de hacer esto como seguimiento,

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

Gracias Tolgahan ALBAYRAK

0

que debe hacer:

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

Eso es todo.

Cuestiones relacionadas