Propiedades de visualización de objetos HTMLLoader

Adobe AIR 1.0 y posterior

Un objeto HTMLLoader hereda las propiedades de visualización de la clase Sprite de Adobe® Flash® Player. Por ejemplo, se puede cambiar el tamaño, mover, ocultar y cambiar el color de fondo. O bien se pueden aplicar efectos avanzados como filtros, máscaras, escala y rotación. Cuando se aplican los efectos, se debe tener en cuenta el impacto en la lectura. El contenido SWF y PDF cargado en una página HTML no se puede mostrar cuando se aplican ciertos efectos.

Las ventanas HTML tienen un objeto HTMLLoader que representa el contenido HTML. Este objeto está restringido dentro del área de la ventana, por lo que si se modifican las dimensiones, posición y rotación o el factor de escala no siempre se obtienen los resultados deseados.

Propiedades de visualización básicas

Las propiedades de visualización básicas del HTMLLoader permiten colocar el control dentro del objeto de visualización principal, para establecer el tamaño y para mostrar u ocultar el control. No se deben cambiar estas propiedades para el objeto HTMLLoader de una ventana HTML.

Las propiedades básicas son:

Propiedad

Notas

x , y

Coloca el objeto dentro del contenedor principal.

width , height

Cambia las dimensiones del área de visualización.

visible

Controla la visibilidad del objeto y el contenido que tenga.

Fuera de una ventana HTML, las propiedades width y height de un objeto HTMLLoader tienen el valor predeterminado de 0. Se debe establecer la anchura y altura antes de que se pueda ver el contenido HTML cargado. El contenido HTML se dibuja acorde al tamaño de HTMLLoader, dispuesto según las propiedades HTML y CSS en el contenido. Si se cambia el tamaño de HTMLLoader se vuelve a fluir el contenido.

Cuando se carga el contenido en un nuevo objeto HTMLLoader (con width aún definido en 0), puede ser tentador definir las propiedades de visualización width y height del HTMLLoader usando las propiedades contentWidth y contentHeight . Esta técnica funciona para las páginas que tienen una anchura mínima razonable cuando se disponen según las reglas de flujo HTML y CSS. Sin embargo, algunas páginas fluyen con un diseño largo y angosto en la ausencia de una anchura razonable proporcionada por HTMLLoader.

Nota: cuando se cambia la anchura y altura de un objeto HTMLLoader, los valores de scaleX y scaleY no cambian, como sucedería con la mayoría de los otros tipos de objetos de visualización.

Transparencia del contenido de HTMLLoader

La propiedad paintsDefaultBackground de un objeto HTMLLoader, que tiene el valor predeterminado de true , determina si el objeto HTMLLoader dibuja un fondo opaco. Cuando paintsDefaultBackground es false , el fondo es transparente. El contenedor del objeto de visualización u otros objetos de visualización debajo del objeto HTMLLoader están visibles detrás de los elementos en el primer plano del contenido HTML.

Si el elemento central o cualquier otro elemento del documento HTML especifica un color de fondo (usando por ejemplo style="background-color:gray" ) entonces el fondo de esa parte del HTML es opaco y se representa con el color de fondo especificado. Si se define la propiedad opaqueBackground del objeto HTMLLoader, y paintsDefaultBackground es false , entonces el color definido para opaqueBackground es visible.

Nota: se puede utilizar un gráfico transparente con formato PNG para proporcionar un fondo con mezcla con alfa para un elemento en un documento HTML. No se admite la configuración del estilo opaco para un elemento HTML.

Ajuste de la escala del contenido HTMLLoader

Se debe evitar ajustar la escala de un objeto HTMLLoader que exceda un factor de escala de 1,0. El texto en un contenido HTMLLoader se representa en una resolución específica y aparece pixelado si se aumenta el tamaño del objeto HTMLLoader. Para evitar que HTMLLoader, así como los contenidos, ajusten la escala cuando se cambia el tamaño de una ventana, se debe configurar la propiedad scaleMode del escenario en StageScaleMode.NO_SCALE .

Consideraciones al cargar el contenido SWF o PDF en una página HTML

El contenido SWF y PDF cargado en un objeto HTMLLoader desaparece en las siguientes condiciones:

  • Si se ajusta la escala del objeto HTMLLoader a un factor diferente de 1,0.

  • Si se establece la propiedad alfa del objeto HTMLLoader a un valor diferente de 1,0.

  • Si se rota el contenido HTMLLoader.

El contenido vuelve a aparecer si se quita el parámetro incorrecto de la propiedad y se quitan los filtros activos.

Además, el motor de ejecución no puede mostrar el contenido PDF en ventanas transparentes. El motor de ejecución solo muestra contenido SWF incorporado en una página HTML si el parámetro wmode del objeto o de la etiqueta incorporada se establece en opaque o transparent . Dado que el valor predeterminado de wmode es window , el contenido SWF no se visualiza en ventanas transparentes a no ser que se establezca el parámetro wmode de forma explícita.

Nota: antes de AIR 1.5.2, el contenido SWF incorporado en HTML no se podía visualizar independientemente del valor usado en wmode.

Para más información sobre la carga de estos tipos de medios en un HTMLLoader, consulte Incorporación de contenido SWF en HTML y Cómo añadir contenido PDF en AIR .

Propiedades de visualización avanzadas

La clase HTMLLoader hereda varios métodos que se pueden usar para efectos especiales. En general, estos efectos tienen limitaciones cuando se utilizan con la visualización de HTMLLoader, pero pueden ser útiles para las transiciones u otros efectos temporales. Por ejemplo, si se muestra una ventana de diálogo para recopilar entradas del usuario, se puede desenfocar la visualización de la ventana principal hasta que el usuario cierre el diálogo. De igual modo, se puede desvanecer la visualización progresivamente cuando se cierra una ventana.

Las propiedades avanzadas de visualización son:

Propiedad

Limitaciones

alpha

Puede reducir la lectura del contenido HTML

filters

En una ventana HTML, los efectos exteriores están recortados por el borde de la ventana

graphics

Las formas dibujadas con los comandos gráficos aparecen debajo del contenido HTML, incluyendo el fondo predeterminado. La propiedad paintsDefaultBackground debe tener el valor false para que las formas dibujadas sean visibles.

opaqueBackground

No cambia el color del fondo predeterminado. La propiedad paintsDefaultBackground debe tener el valor false para que esta capa de color sea visible.

rotation

Las esquinas del área HTMLLoader rectangular se pueden recortar por el borde de la ventana. El contenido SWF y PDF cargado en el contenido HTML no se muestra.

scaleX , scaleY

La visualización representada puede aparecer pixelada en factores de escala mayores que 1. El contenido SWF y PDF cargado en el contenido HTML no se muestra.

transform

Puede reducir la legibilidad del contenido HTML El borde de la ventana puede recortar la visualización HTML. El contenido SWF y PDF cargado en el contenido HTML no se muestra si la transformación involucra rotación, ajuste de escala o sesgado.

En el siguiente ejemplo se muestra la manera de establecer el conjunto de filters para desenfocar toda la visualización HTML:

var html:HTMLLoader = new HTMLLoader(); 
var urlReq:URLRequest = new URLRequest("http://www.adobe.com/"); 
html.load(urlReq); 
html.width = 800; 
html.height = 600; 
 
var blur:BlurFilter = new BlurFilter(8); 
var filters:Array = [blur]; 
html.filters = filters;