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 コンテンツを表示するには、まず width と height を設定する必要があります。HTML コンテンツは、HTMLLoader のサイズで描画され、コンテンツの HTML プロパティと CSS プロパティに従ってレイアウトされます。HTMLLoader のサイズを変更すると、コンテンツが再配置されます。 コンテンツを新しい HTMLLoader オブジェクトに読み込む場合(width は 0 に設定されたまま)、HTMLLoader の表示の width と height を contentWidth プロパティと contentHeight プロパティで設定することもできます。このテクニックは、HTML と CSS の配置ルールに従ってレイアウトした場合に、最小幅が十分に確保されるページに対しては有効です。ただし、HTMLLoader によって適正な幅が指定されていないと、ページが細長いレイアウトに配置される場合があります。 注意: 他のタイプの表示オブジェクトについても一般的に言えることですが、HTMLLoader オブジェクトの width と height を変更しても、scaleX と scaleY の値は変化しません。
HTMLLoader コンテンツの透明度HTMLLoader オブジェクトの paintsDefaultBackground プロパティは、HTMLLoader オブジェクトで不透明な背景を描画するかどうかを決定するもので、デフォルトで true になっています。paintsDefaultBackground を false にすると、背景が透明になります。表示オブジェクトコンテナまたは HTMLLoader オブジェクトの下に位置するその他の表示オブジェクトは、HTML コンテンツの前景エレメントの背後に表示されます。 body エレメントまたは HTML ドキュメントのその他のエレメントで背景色を指定(例えば style="background-color:gray" を使用して指定)すると、HTML の該当部分の背景は不透明になり、指定した背景色でレンダリングされます。HTMLLoader オブジェクトの opaqueBackground プロパティを設定し、paintsDefaultBackground を false にした場合は、opaqueBackground に設定した色が表示されます。 注意: 透明な PNG 形式のグラフィックを使用して、HTML ドキュメント内のエレメントにアルファブレンドの背景を指定できます。HTML エレメントの opacity スタイルの設定はサポートされていません。
HTMLLoader コンテンツの拡大 / 縮小HTMLLoader オブジェクトの拡大 / 縮小では、拡大 / 縮小率が 1.0 を超えないようにしてください。HTMLLoader コンテンツのテキストは特定の解像度でレンダリングされるので、HTMLLoader オブジェクトを拡大するとピクセルが目立つようになります。ウィンドウのサイズが変更されたときに HTMLLoader とそのコンテンツが拡大 / 縮小されないようにするには、Stage の scaleMode プロパティを StageScaleMode.NO_SCALE に設定します。 HTML ページに SWF コンテンツまたは PDF コンテンツを読み込む場合の考慮事項次の場合、HTMLLoader オブジェクトに読み込まれる SWF コンテンツおよび PDF コンテンツは表示されません。
問題のあるプロパティ設定を削除し、アクティブなフィルターを削除すると、コンテンツが再表示されます。 また、ランタイムでは、透明ウィンドウに PDF コンテンツを表示できません。オブジェクトまたは埋め込みタグの wmode パラメーターが opaque または transparent に設定されている場合、ランタイムでは HTML ページに埋め込まれた SWF コンテンツのみが表示されます。wmode のデフォルト値は window なので、wmode パラメーターを明示的に設定しない限り、SWF コンテンツは透明ウィンドウに表示されません。 注意: 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; |
|