Exibição de propriedades de objetos HTMLLoader

Adobe AIR 1.0 e posterior

O objeto HTMLLoader herda as propriedades de exibição da classe Sprite do Adobe® Flash® Player. Você pode redimensionar, mover, ocultar e alterar a cor do plano de fundo, por exemplo. Ou, pode aplicar efeitos avançadas, como filtros, máscaras, dimensionamento e rotação. Ao aplicar efeitos, considere o impacto sobre a legibilidade. O conteúdo SWF e PDF carregado em uma página HTML não pode ser exibido quando alguns efeitos são aplicados.

As janelas HTML contêm um objeto HTMLLoader que processa conteúdo HTML. Esse objeto fica restrito dentro da área da janela, portanto, alterar dimensões, posição, rotação ou fato de dimensionamento nem sempre produz os resultados desejados.

Propriedades básicas de exibição

As propriedades básicas de exibição do HTMLLoader permitem posicionar o controle no respectivo objeto de exibição pai para definir o tamanho e mostrar ou ocultar o controle. Você não deve alterar essas propriedades do objeto HTMLLoader de uma janela HTML.

As propriedades básicas incluem:

Propriedade

Observações

x , y

Posiciona o objeto em seu contêiner pai.

width , height

Altera as dimensões da área de exibição.

visible

Controla a visibilidade do objeto e todo seu conteúdo.

Fora da janela HTML, as propriedades width e height do objeto HTMLLoader assumem o padrão 0. Você deve definir a largura e a altura para que o conteúdo HTML carregado possa ser visualizado. O conteúdo HTML é desenhado no tamanho do HTMLLoader, disposto de acordo com as propriedades HTML e CSS do conteúdo. Alterar o tamanho do HTMLLoader redireciona o conteúdo.

Ao carregar conteúdo em um novo objeto HTMLLoader (com width ainda definido como 0), pode ser tentador definir width e height de exibição do HTMLLoader usando as propriedades contentWidth e contentHeight . Essa técnica funciona em páginas com largura mínima razoável quando disposta de acordo com as regras de fluxo de HTML e CSS. No entanto, algumas páginas resultam em um layout longo e estreito na ausência de uma largura razoável fornecida pelo HTMLLoader.

Nota: Quando você altera a largura e a altura do objeto HTMLLoader, os valores scaleX e scaleY não são alterados, como ocorreria com a maioria dos demais tipos de objetos de exibição.

Transparência de conteúdo HTMLLoader

A propriedade paintsDefaultBackground do objeto HTMLLoader, que é true por padrão, determina se o objeto HTMLLoader desenha um plano de fundo opaco. Quando paintsDefaultBackground for false , o plano de fundo ficará claro. O contêiner do objeto de exibição ou outros objetos de exibição abaixo do objeto HTMLLoader ficam visíveis por trás dos elementos de primeiro plano do conteúdo HTML.

Se o elemento body ou qualquer outro elemento do documento HTML especificar uma cor de plano de fundo (usando style="background-color:gray" , por exemplo), o plano de fundo dessa parte do HTML ficará opaco e será processado com a cor de plano de fundo especificada. Se você definir a propriedade opaqueBackground do objeto HTMLLoader e paintsDefaultBackground for false , a cor definida para opaqueBackground ficará visível.

Nota: Você pode usar um gráfico com formato PNG transparente para dar ao elemento no documento HTML um plano de fundo de mesclagem de alfa. Não há suporte para a configuração de estilo de opacidade de elemento HTML.

Dimensionamento de conteúdo HTMLLoader

Evite o dimensionamento do objeto HTMLLoader além do fator de dimensionamento de 1.0. O texto no conteúdo HTMLLoader é processado em uma resolução específica e aparecerá pixelizado se o objeto HTMLLoader for dimensionado. Para evitar que o HTMLLoader, bem como o respectivo conteúdo, sejam dimensionados quando a janela for redimensionada, defina a propriedade scaleMode do Palco como StageScaleMode.NO_SCALE .

Considerações ao carregar conteúdo SWF ou PDF em uma página HTML

O conteúdo SWF e PDF carregado em um objeto HTMLLoader desaparece nas seguintes condições:

  • Se você dimensionar o objeto HTMLLoader em um outro fator que não 1.0.

  • Se você definir a propriedade alfa do objeto HTMLLoader em um outro valor que não 1.0.

  • Se você girar o conteúdo HTMLLoader.

O conteúdo reaparecerá se você remover a configuração da propriedade ofensiva e os filtros ativos.

Além disso, o tempo de execução não pode exibir o conteúdo de arquivos PDF em janelas transparentes. O tempo de execução somente pode exibir conteúdo SWF integrado em uma página HTML quando o parâmetro wmode do objeto ou da tag integrada estiver definido em opaque ou transparent . Como o valor padrão de wmode é window , o conteúdo SWF não é exibido em janelas transparentes a não ser que você especifique expressamente o parâmetro wmode.

Nota: Antes da versão 1.5.2 do AIR, o SWF integrado no HTML não podia ser exibido, não importando como o valor wmode era utilizado.

Para obter mais informações sobre o carregamento desses tipos de mídia no HTMLLoader, consulte Incorporação de conteúdo SWF em HTML e Inclusão de conteúdo em PDF no AIR .

Propriedades avançadas de exibição

A classe HTMLLoader herda vários métodos que podem ser usados em efeitos especiais. Em geral, esses efeitos têm limitações quando usados com a exibição HTMLLoader, mas podem ser úteis em transições ou outros efeitos temporários. Por exemplo, se você exibe uma janela de diálogo para coletar entradas de usuário, é possível desfocar a exibição da janela principal até que o usuário feche a caixa de diálogo. Da mesma forma, você pode fazer a exibição desaparecer gradualmente ao fechar uma janela.

As propriedades avançadas de exibição incluem:

Propriedade

Limitações

alpha

Pode reduzir a legibilidade do conteúdo HTML.

filters

Em uma Janela HTML, os efeitos exteriores são recortados pela borda da janela.

graphics

As formas desenhadas com comandos gráficos aparecem abaixo do conteúdo HTML, incluindo o plano de fundo padrão. A propriedade paintsDefaultBackground deve ser false para que as formas do desenho estejam visíveis.

opaqueBackground

Não altera a cor do plano de fundo padrão. A propriedade paintsDefaultBackground deve ser false para que essa camada de cor esteja visível.

rotation

Os cantos da área retangular do HTMLLoader podem ser recortados pela borda da janela. O conteúdo SWF e PDF carregado no conteúdo HTML não é exibido.

scaleX e scaleY

A exibição processada pode aparecer pixelizada em fatores de dimensionamento maiores que 1. O conteúdo SWF e PDF carregado no conteúdo HTML não é exibido.

transform

Pode reduzir a legibilidade do conteúdo HTML. A exibição HTML pode ser recortada pela borda da janela. O conteúdo SWF e PDF carregado no conteúdo HTML não será exibido se a transformação envolver rotação, dimensionamento ou inclinação.

O exemplo a seguir ilustra como definir a matriz filters para desfocar a exibição HTML inteira:

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;