Właściwości wyświetlania obiektów HTMLLoader

Adobe AIR 1.0 i starsze wersje

Obiekt HTMLLoader dziedziczy właściwości wyświetlania od klasy Sprite programu Adobe® Flash® Player. Te właściwości umożliwiają na przykład zmianę wielkości, przesunięcie, ukrycie i zmianę koloru. Możliwe jest także zastosowanie efektów zaawansowanych, takich jak filtry, maski, skalowanie i rotacje. Podczas stosowania efektów należy rozważyć ich wpływ na czytelność obiektów wyświetlanych. W przypadku zastosowania niektórych efektów nie będzie możliwości wyświetlenia treści SWF i PDF załadowanej do strony HTML.

Okna HTML zawierają obiekt HTMLLoader, który renderuje treść HTML. Ten obiekt jest ograniczony do obszaru okna, dlatego zmiana wymiarów, położenia, rotacji lub współczynnika skali nie zawsze powoduje uzyskanie pożądanych wyników.

Podstawowe właściwości wyświetlania

Podstawowe właściwości wyświetlania obiektu HTMLLoader umożliwiają umieszczenie obiektu sterowania w jego nadrzędnym obiekcie wyświetlanym w celu ustawienia wielkości oraz w celu wyświetlenia lub ukrycia elementu sterowania. Tych właściwości nie należy zmieniać dla obiektu HTMLLoader okna HTML.

Do właściwości podstawowych należą:

Właściwość

Uwagi

x , y

Ustawia obiekt w jego kontenerze nadrzędnym.

width , height

Zmienia rozmiary obszaru wyświetlania.

visible

Kontroluje widoczność obiektu oraz jego treści.

Poza oknem HTML właściwości width i height obiektu HTMLLoader mają domyślnie wartość 0. Właściwości width i height należy zmienić zanim załadowana treść HTML zostanie wyświetlona. Treść HTML zostanie narysowana zgodnie z rozmiarem HTMLLoader i wyświetlona zgodnie z właściwościami HTML i CSS treści. Zmiana wielkości obiektu HTMLLoader powoduje ponowne ułożenie jego zawartości.

Podczas ładowania treści do nowego obiektu HTMLLoader (z właściwością width równą 0) kuszące może być ustawienie wartości width i height wyświetlanego obiektu HTMLLoader za pomocą właściwości contentWidth i contentHeight . Ta technika działa dla stron, które mają odpowiednią minimalną szerokość po wyświetleniu zgodnie z regułami strumienia HTML i CSS. Jeśli jednak dla obiektu HTMLLoader nie określono odpowiedniej szerokości, wówczas niektóre strony są wyświetlane jako stosunkowo długie i wąskie.

Uwaga: Po zmianie właściwości width i height obiektu HTMLLoader wartości scaleX i scaleY nie ulegają zmianie, jak w przypadku większości innych typów obiektów wyświetlanych.

Przezroczystość obiektu HTMLLoader

Właściwość paintsDefaultBackground obiektu HTMLLoader, która ma domyślnie wartość true , określa, czy obiekt HTMLLoader jest rysowany z nieprzezroczystym tłem. Jeśli właściwość paintsDefaultBackground ma wartość false , wówczas tło jest przezroczyste. Kontener obiektu wyświetlanego lub inne obiekty wyświetlane poniżej obiektu HTMLLoader są widoczne za elementami widocznymi na pierwszym planie treści HTML.

Jeśli element body lub inny element treści HTML określa kolor tła (np. za pomocą style="background-color:gray" ), wówczas tło tej części HTML jest nieprzezroczyste i wyświetlane w określonym kolorze. Jeśli właściwość opaqueBackground obiektu HTMLLoader oraz obiektu paintsDefaultBackground ma wartość false , wówczas kolor ustawiony dla właściwości opaqueBackground będzie widoczny.

Uwaga: Możliwe jest użycie przezroczystej grafiki w formacie PNG w celu utworzenia tła o różnych współczynnikach alfa dla elementów w dokumencie HTML. Ustawianie stylu przezroczystości elementu HTML nie jest obsługiwane.

Skalowanie treści HTMLLoader

Nie należy zmieniać skali obiektu HTMLLoader powyżej wartości współczynnika 1.0. Tekst w treści HTMLLoader jest renderowana z określoną rozdzielczością i po zwiększeniu skali widoczne będą poszczególne piksele obiektu HTMLLoader. Aby zapobiec skalowaniu obiektu HTMLLoader oraz jego treści podczas zmiany wielkości okna, należy ustawić właściwość scaleMode stołu montażowego na StageScaleMode.NO_SCALE .

Zagadnienia dotyczące ładowania treści SWF lub PDF na stronie HTML

Treść SWF i PDF wczytana do obiektu HTMLLoader nie jest wyświetlana w następujących okolicznościach:

  • W przypadku zmiany skali obiektu HTMLLoader na współczynnik inny niż 1.0.

  • Jeśli właściwość alpha obiektu HTMLLoader zostanie ustawiona na wartość inną niż 1.0.

  • W przypadku obrócenia treści obiektu HTMLLoader.

Treść pojawia się ponownie po usunięciu niezgodnego ustawienia właściwości i usunięciu filtrów aktywnych.

Ponadto środowisko wykonawcze nie może wyświetlać treści PDF w oknach przezroczystych. W środowisku wykonawczym treść SWF osadzona na stronie HTML jest wyświetlana tylko wówczas, gdy parametr wmode obiektu lub osadzony znacznik ma wartość opaque lub transparent . Ponieważ wartość domyślna parametru wmode to window , treść SWF nie jest wyświetlana w oknach przezroczystych, chyba że zostanie jawnie ustawiony parametr wmode.

Uwaga: W wersjach środowiska wykonawczego wcześniejszych niż AIR 1.5.2 treść SWF osadzona na stronie HTML nie mogła być wyświetlana, niezależnie od używanej wartości wmode.

Więcej informacji na temat ładowania tych typów nośników do obiektu HTMLLoader zawiera sekcja Osadzanie treści SWF w kodzie HTML oraz Dodawanie treści PDF w środowisku AIR .

Zaawansowane właściwości wyświetlania

Klasa HTMLLoader dziedziczy kilka metod, które mogą być używane w celu tworzenia efektów specjalnych. W ogólnym wypadku dla tych efektów obowiązują ograniczenia, gdy są używane z wyświetlanymi obiektami HTMLLoader, ale mogą być użyteczne dla przejść lub innych tymczasowych efektów. Na przykład: jeśli wyświetlane jest okno dialogowe w celu gromadzenia danych wprowadzonych przez użytkownika można zmniejszyć ostrość wyświetlania okna głównego do czasu zamknięcia okna dialogowego. I podobnie — można również spowodować znikanie podczas zamykania okna.

Do zaawansowanych właściwości wyświetlania należą:

Właściwość

Ograniczenia

alpha

Może zmniejszać czytelność treści HTML.

filters

W oknie HTML efekty zewnętrzne są mocowane do krawędzi okna.

graphics

Kształty rysowane za pomocą polecenia graphics mogą pojawiać się poniżej treści HTML, łącznie z domyślnym tłem. Właściwość paintsDefaultBackground musi mieć wartość false — tylko wówczas narysowane kształty będą widoczne.

opaqueBackground

Nie powoduje zmiany koloru domyślnego tła. Właściwość paintsDefaultBackground musi mieć wartość false — tylko wówczas ta warstwa koloru będzie widoczna.

rotation

Narożniki prostokątnego obszaru HTMLLoader mogą być przymocowane do krawędzi okna. Treść SWF i PDF ładowana do treści HTML nie jest wyświetlana.

scaleX , scaleY

W przypadku współczynników skali większych niż 1 mogą być widoczne piksele zrenderowanego obrazu. Zawartość SWF i PDF wczytywana do zawartości HTML nie jest wyświetlana.

transform

Może zmniejszać czytelność treści HTML. Wyświetlana treść HTML może być przymocowana do krawędzi okna. Treść SWF i PDF ładowana do treści HTML nie jest wyświetlana, jeśli właściwość transform obejmuje rotacje, skalowanie i pochylanie.

Poniższy przykład ilustruje sposób ustawiania tablicy filters w celu zmniejszenia ostrości całego wyświetlanego obszaru 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;