Comunidad de diseño web y desarrollo en internet online

Texto con enlaces en Flash al estilo HTML

En flash podemos colocar textos en formato HTML con enlaces a otras páginas, pero tenemos el problema de que estos links no quedan resaltados en color azul y subrayados como pasa en un típico HTML.

Por ejemplo, este SWF contiene un campo de texto con varios enlaces, pero no se diferencian del resto del texto:



Esto lo podemos solucionar aplicando un poco de CSS al texto HTML.
El código para crear el estilo CSS sería este:

Código :

import TextField.StyleSheet;
var css:StyleSheet = new StyleSheet();
css.parseCSS("a{color:#0000FF; text-decoration:underline;}");

Ahora al crear un texto HTML tendremos que aplicarle el CSS, de esta manera aplicamos a todas las etiquetas <a> el color azul y el subrayado:

Código :

texto.html = true;
texto.styleSheet = css;
texto.htmlText = "<a href='http://www.cristalab.com'>Troiae</a> qui primus ab oris Italiam, fato profugus, Laviniaque venit litora, multum ille et terris iactatus et alto vi superum saevae <a href='http://www.cristalab.com'>memorem</a> Iunonis ob iram; multa quoque et bello passus, dum conderet urbem, inferretque deos Latio, genus unde Latinum, <a href='http://www.cristalab.com'>Albanique</a> patres, atque altae moenia Romae.";

El resultado sería este:



Para mejorar este código y hacerlo más reutilizable, podemos meterlo a través de prototype a la clase TextField:

Código :

TextField.prototype.htmlcss = function(txt:String)
{
   import TextField.StyleSheet;
   var css:StyleSheet = new StyleSheet();
   css.parseCSS("a{color:#0000FF; text-decoration:underline;}");
   this.html = true;
   this.styleSheet = css;
   this.htmlText = txt;
};

De esta manera TODOS los campos de texto tendrán el comportamiento htmlcss que colocará el estilo al texto.

Para añadir el texto al campo de texto utilizaremos esta nueva función de la clase:

Código :

texto.htmlcss("<a href='http://www.cristalab.com'>Troiae</a> qui primus ab oris Italiam, fato profugus, Laviniaque venit litora, multum ille et terris iactatus et alto vi superum saevae <a href='http://www.cristalab.com'>memorem</a> Iunonis ob iram; multa quoque et bello passus, dum conderet urbem, inferretque deos Latio, genus unde Latinum, <a href='http://www.cristalab.com'>Albanique</a> patres, atque altae moenia Romae.");

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate