Comunidad de diseño web y desarrollo en internet online

String + Textinput

Citar            
MensajeEscrito el 22 Sep 2009 12:40 am
Hola a todos, tengo un TextInput de una medida dada que cuando cargo un texto y es mas largo que el control hay caracteres que no se ven como puedo sabe cual es el ultimo caracter de que ve en el textinput? ya que tengo que reemplazar los ultimos 3 caracteres que se muestran por "..."
Gracias

Por mortemcito

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Sep 2009 06:37 am
Tienes que usarel método getLineMetrics (que devuelve un objeto del tipo TextLineMetric)

Imagina que tenemos un Label cuyo "nombre de instancia" es "label" (sin las comillas) -o que lo hemos creado en tiempo de ejecución

Código ActionScript :

            var metrics:TextLineMetrics = label.getLineMetrics(0);
            trace("metrics: " + metrics.width.toString());
            trace("label: " + label.width.toString());

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Sep 2009 04:40 pm
Hola!!! gracias por contestar, pero no te entiendo que me queres decirm, sinceramente

Por mortemcito

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Sep 2009 06:41 am
Para saber la longitud de una línea de texto, debemos usar el método getLineMetrics, este método devuelve muchos valores, entre ellos el width (el ancho de la línea que sea). La idea es compararlo con el ancho de una label.
Hagamos una función tal y como

Código ActionScript :

public function textoRecortado(texto:String):String{
         var label:TextField=new TextField()
         label.width=100  //<---el ANCHO con el que lo queremos comparar
         label.text=texto
         var metrics:TextLineMetrics=label.getLineMetrics(0)
         var letras:Array = texto.split("");
         if (metrics.width>label.width){
            do {
               letras.pop()
               label.text=letras.join("")+"...";
               metrics = label.getLineMetrics(0);
            }while (metrics.width > label.width)
         }
         return letras.join("")+"...";
      }   

Así, sólo tendremos que escribir

Código ActionScript :

milabel.text=textoRecortado(""Hola Mundo, esta es una línea muy larga");

Por Eliseo2

710 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.