顯示 HTMLLoader 物件的屬性Adobe AIR 1.0 以及更新的版本 HTMLLoader 物件會繼承 Adobe® Flash® Player Sprite 類別的顯示屬性。舉例來說,您可以調整背景大小、移動背景、隱藏背景,以及變更背景顏色。或者,您也可以套用進階特效,例如濾鏡、遮色片、縮放和旋轉。套用特效時,請考量對易讀性造成的影響。套用某些特效時,載入至 HTML 網頁的 SWF 和 PDF 內容將無法顯示。 HTML 視窗包含可用於呈現 HTML 內容的 HTMLLoader 物件。這個物件受限於視窗區域中,因此變更尺寸、位置、旋轉方式或縮放係數時,不一定都會產生所希望的結果。 基本顯示屬性HTMLLoader 的基本顯示屬性可以讓您將控制項置於其父輩顯示物件中、設定大小,及顯示或隱藏控制項。您不應該變更 HTML 視窗之 HTMLLoader 物件的基本顯示屬性。 這些基本顯示屬性包括:
在 HTML 視窗以外,HTMLLoader 物件的 width 和 height 屬性的預設值為 0。您必須先指定所載入之 HTML 內容的寬度和高度,才能看到其內容。HTML 內容會依照 HTMLLoader 的大小來繪製,並且根據內容中的 HTML 和 CSS 屬性來配置。變更 HTMLLoader 的大小時,內容會經過重新排列。 將內容載入至新的 HTMLLoader 物件 (其中 width 仍然設定為 0) 時,許多人往往會想要使用 contentWidth 和 contentHeight 屬性設定 HTMLLoader 的顯示 width 和 height。這項技巧適用於在根據 HTML 和 CSS 排列規則進行配置時,具有合理最小寬度的網頁。不過,在 HTMLLoader 沒有提供合理寬度的情況下,某些網頁的內容排列會呈現窄長的配置。 備註: 當您變更 HTMLLoader 物件的寬度和高度時,scaleX 和 scaleY 值不會變更,就像其它大多數類型的顯示物件一樣。
HTMLLoader 內容的透明度HTMLLoader 物件的 paintsDefaultBackground 屬性 (預設為 true) 可決定 HTMLLoader 物件是否繪製不透明背景。當 paintsDefaultBackground 為 false 時,背景會是透明的。在 HTML 內容之前景元素的後方,可以看見 HTMLLoader 物件下方的顯示物件容器或它顯示物件。 如果 HTML 文件的 body 元素或其它任何元素指定背景顏色 (例如,使用 style="background-color:gray"),則 HTML 的該部分便不透明,並且呈現為指定的背景顏色。如果您設定 HTMLLoader 物件的 opaqueBackground 屬性,而且 paintsDefaultBackground 為 false,則針對 opaqueBackground 所設定的顏色便為可見。 備註: 您可以使用透明的 PNG 格式圖像,為 HTML 文件中的元素提供經過 Alpha 混合後的背景。不支援設定 HTML 元素的不透明樣式。
縮放 HTMLLoader 內容請避免使用 1.0 以上的縮放係數來縮放 HTMLLoader 物件。如果放大 HTMLLoader 物件,HTMLLoader 內容會以特定解析度呈現,並呈現像素化。重新調整視窗時,若要避免縮放 HTMLLoader 及其內容,請將 Stage 的 scaleMode 屬性設定為 StageScaleMode.NO_SCALE。 在 HTML 網頁中載入 SWF 或 PDF 內容時必須考量的事項在下列情況中,載入至 HTMLLoader 物件中的 SWF 和 PDF 內容會消失:
如果您移除違反規定的屬性設定,並移除使用中的濾鏡,內容就會重新顯示。 此外,執行階段無法在透明視窗顯示 PDF 內容。當 object 或 embed 標籤的 wmode 參數設定為 opaque 或 transparent 時,執行階段只顯示內嵌於 HTML 網頁的 SWF 內容。因為 wmode 預設值為 window,所以 SWF 內容不會顯示在透明視窗中,除非您明確設定 wmode 參數。 備註: AIR 1.5.2 之前的版本,無論使用哪一個 wmode 值,都無法顯示內嵌於 HTML 的 SWF。
如需有關在 HTMLLoader 中載入這些媒體類型的詳細資訊,請參閱在 HTML 中嵌入 SWF 內容和在 AIR 中新增 PDF 內容。 進階顯示屬性HTMLLoader 類別會繼承可供特殊特效使用的數個方法。一般而言,當搭配 HTMLLoader 顯示使用時,這些特效具有幾項限制。但是針對轉場或其它暫時性特性而言,這些特效就很有用。例如,如果您顯示對話方塊以取得使用者輸入,那麼直到使用者關閉對話方塊為止,您都可以讓主要視窗呈現模糊的狀態。同樣地,關閉視窗時,可以用淡出的方式關閉。 進階顯示屬性包括:
下列範例會示範如何設定 filters 陣列以模糊化整個 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; |
|