Proprietà di visualizzazione degli oggetti HTMLLoaderAdobe AIR 1.0 e versioni successive Un oggetto HTMLLoader eredita le proprietà di visualizzazione della classe Sprite di Adobe® Flash® Player. Potete ridimensionare, spostare, nascondere e modificare, ad esempio, il colore di sfondo. In alternativa potete applicare effetti avanzati come filtri, maschere, modifica in scala e rotazione. Quando applicate degli effetti, tenete presente il possibile impatto sulla leggibilità. Il contenuto SWF e PDF caricato in una pagina HTML non può essere visualizzato quando vengono applicati determinati effetti. Nelle finestre HTML è presente un oggetto HTMLLoader che esegue il rendering del contenuto HTML. Questo oggetto è vincolato all'interno dell'area della finestra, quindi la modifica delle dimensioni, della posizione, della rotazione o del fattore di scala non produce sempre risultati desiderabili. Proprietà di visualizzazione di baseLe proprietà di visualizzazione di base di HTMLLoader consentono di posizionare il controllo all'interno dell'oggetto di visualizzazione principale, di impostare le dimensioni e di visualizzare o nascondere il controllo. Evitate di modificare queste proprietà per l'oggetto HTMLLoader di una finestra HTML. Le proprietà di base comprendono:
Al di fuori di una finestra HTML, il valore predefinito delle proprietà width e height di un oggetto HTMLLoader è 0. Per poter visualizzare il contenuto HTML caricato, dovete impostare la larghezza e l'altezza. Il contenuto HTML viene disegnato in base alle dimensioni di HTMLLoader e disposto secondo le proprietà HTML e CSS nel contenuto. La modifica delle dimensioni di HTMLLoader comporta la ridisposizione del contenuto. Quando caricate del contenuto in un nuovo oggetto HTMLLoader (con la proprietà width impostata su 0), potreste essere tentati di impostare le proprietà di visualizzazione width e height di HTMLLoader utilizzando le proprietà contentWidth e contentHeight. Questa tecnica funziona per le pagine che, una volta disposte in base alle regole del flusso HTML e CSS, presentano una larghezza minima adeguata. Tuttavia, in assenza di una larghezza adeguata specificata mediante HTMLLoader, alcune pagine vengono disposte con un layout stretto e lungo. Nota: quando modificate la larghezza e l'altezza di un oggetto HTMLLoader, i valori scaleX e scaleY non vengono modificati come avverrebbe con la maggior parte degli altri tipi di oggetti di visualizzazione.
Trasparenza del contenuto di HTMLLoaderLa proprietà paintsDefaultBackground di un oggetto HTMLLoader, che è true per impostazione predefinita, determina se l'oggetto HTMLLoader disegna uno sfondo opaco. Quando paintsDefaultBackground è false, lo sfondo è trasparente. Il contenitore di oggetti di visualizzazione o altri oggetti di visualizzazione al di sotto dell'oggetto HTMLLoader sono visibili dietro gli elementi di primo piano del contenuto HTML. Se l'elemento del corpo o qualsiasi altro elemento del documento HTML specifica un colore di sfondo (usando ad esempio style="background-color:gray"), lo sfondo di quella parte del contenuto HTML risulta opaco e ne viene eseguito il rendering con il colore di sfondo specificato. Se impostate la proprietà opaqueBackground dell'oggetto HTMLLoader, e paintsDefaultBackground èfalse, il colore impostato per opaqueBackground risulta visibile. Nota: potete usare un elemento grafico trasparente in formato PNG per fornire uno sfondo alfa sfumato per un elemento in un documento HTML. L'impostazione di uno stile di opacità per un elemento HTML non è supportato.
Modifica in scala del contenuto di HTMLLoaderEvitate di modificare in scala un oggetto HTMLLoader oltre un fattore di scala di 1.0. Il rendering del testo nel contenuto di HTMLLoader viene eseguito con una risoluzione specifica e risulta pixelizzato se l'oggetto HTMLLoader viene ingrandito in scala. Per impedire la modifica in scala di HTMLLoader, e del relativo contenuto, quando una finestra viene ridimensionata, impostate la proprietà scaleMode dello stage su StageScaleMode.NO_SCALE. Considerazioni relative al caricamento di contenuto SWF o PDF in una pagina HTMLIl contenuto SWF e PDF caricato in un oggetto HTMLLoader non viene visualizzato nelle seguenti condizioni:
Il contenuto viene visualizzato di nuovo se rimuovete l'impostazione errata della proprietà e i filtri attivi. Inoltre, il runtime non è in grado di visualizzare il contenuto PDF nelle finestre trasparenti, ma solo in una pagina HTML quando il parametro wmode dell'oggetto o del tag incorporato è impostato su opaque o transparent. Poiché il valore predefinito di wmode è window, il contenuto SWF non viene visualizzato in finestre trasparenti a meno che il parametro wmode non venga impostato in modo esplicito. Nota: nelle versioni precedenti a AIR 1.5.2, il contenuto SWF incorporato in HTML non poteva essere visualizzato a prescindere dal valore wmode utilizzato.
Per ulteriori informazioni sul caricamento di questi tipi di contenuto multimediale in un HTMLLoader, consultate Incorporamento del contenuto SWF nel contenuto HTML e Aggiunta di contenuto PDF in AIR. Proprietà di visualizzazione avanzateLa classe HTMLLoader eredita diversi metodi che potete usare per gli effetti speciali. In generale, questi effetti presentano limitazioni se vengono usati con l'oggetto di visualizzazione HTMLLoader, ma possono risultare utili per transizioni o altri effetti temporanei. Se, ad esempio, visualizzate una finestra di dialogo per raccogliere l'input dell'utente, potete fare in modo che la visualizzazione della finestra principale risulti sfocata finché l'utente non l'avrà chiusa. In modo analogo, potete applicare alla visualizzazione una dissolvenza in uscita quando la finestra viene chiusa. Le proprietà di visualizzazione avanzate includono:
Nel seguente esempio viene illustrato come impostare l'array filters per sfocare l'intera visualizzazione 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;
|
|