HTMLLoader 对象继承 Adobe® Flash® Player Sprite 类的显示属性。例如,可以调整大小、移动、隐藏和更改背景颜色,也可以应用滤镜、遮罩、缩放和旋转等高级效果。在应用效果时,应考虑对易读性的影响。在应用某些效果时,无法显示加载到 HTML 页中的 SWF 和 PDF 内容。
HTML 窗口包含用于呈现 HTML 内容的 HTMLLoader 对象。此对象被限制在窗口区域内,因此,更改尺寸、位置、旋转或缩放系数并不一定能得到令人满意的结果。
基本显示属性
通过 HTMLLoader 的基本显示属性,可以定位控件在其父显示对象中的位置,设置大小以及显示或隐藏控件。不应更改 HTML 窗口的 HTMLLoader 对象的这些属性。
基本属性包括:
属性
|
备注
|
x
、
y
|
定位对象在其父容器中的位置。
|
width
、
height
|
更改显示区域的尺寸。
|
visible
|
控制对象及所其包含的所有内容的可见性。
|
在 HTML 窗口外部,HTMLLoader 对象的
width
和
height
属性的默认值为 0。必须设置宽度和高度才能看到加载的 HTML 内容。HTML 内容根据 HTMLLoader 大小进行绘制,并根据内容中的 HTML 和 CSS 属性进行布置。更改 HTMLLoader 大小会重新填充内容。
在向新的 HTMLLoader 对象(
width
仍设置为 0)中加载内容时,使用
contentWidth
和
contentHeight
属性设置 HTMLLoader 的显示
宽度
和
高度
是一种很不错的做法。此项技术适用于根据 HTML 和 CSS 流规则进行布置时具有合理的最小宽度的页。不过,在缺少 HTMLLoader 提供的合理宽度时,有些页会生成窄而长的布局。
注:
当更改 HTMLLoader 对象的宽度和高度时,scaleX 和 scaleY 值不会发生更改,大多数其他类型的显示对象也存在此现象。
HTMLLoader 内容的透明度
HTMLLoader 对象的
paintsDefaultBackground
属性(默认情况下为
true
)确定 HTMLLoader 对象是否绘制不透明背景。当
paintsDefaultBackground
为
false
时,背景是透明的。显示对象容器或 HTMLLoader 对象下的其他显示对象在 HTML 内容的前景元素后是可见的。
如果 body 元素或 HTML 文档的任何其他元素指定了背景颜色(例如,使用
style="background-color:gray"
),则 HTML 的该部分背景是不透明的,并使用指定的背景颜色呈现。如果设置了 HTMLLoader 对象的
opaqueBackground
属性,并且
paintsDefaultBackground
为
false
,则为
opaqueBackground
设置的颜色是可见的。
注:
可以使用透明的 PNG 格式的图形为 HTML 文档中的元素提供 Alpha 混合背景。不支持对 HTML 元素设置不透明样式。
缩放 HTMLLoader 内容
在对 HTMLLoader 对象进行缩放时,缩放系数应避免超过 1.0。如果对 HTMLLoader 对象进行放大,则 HTMLLoader 内容中的文本将以特定的分辨率呈现,从而产生像素化效果。在调整窗口大小时,为防止 HTMLLoader 及其内容缩放,请将舞台的
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 显示时存在一些限制,但对于生成过渡或其他临时效果会非常有用。例如,如果显示一个对话窗口来收集用户输入内容,则可以在用户关闭对话之前模糊显示主窗口。同样,在关闭窗口时可以淡出显示。
高级显示属性包括:
属性
|
限制
|
alpha
|
会降低 HTML 内容的易读性
|
filters
|
在 HTML 窗口中,外部效果沿窗口边缘剪裁
|
graphics
|
使用图形命令绘制的形状显示在 HTML 内容下方(包括默认背景)。paintsDefaultBackground 属性必须为 false,绘制的形状才可见。
|
opaqueBackground
|
不更改默认背景的颜色。paintsDefaultBackground 属性必须为 false,此颜色层才可见。
|
rotation
|
矩形 HTMLLoader 区域的各个角会沿窗口边缘剪裁。不显示 HTML 内容中加载的 SWF 和 PDF 内容。
|
scaleX
、
scaleY
|
当缩放系数大于 1 时,会呈现像素化效果。不显示 HTML 内容中加载的 SWF 和 PDF 内容。
|
transform
|
会降低 HTML 内容的易读性。HTML 显示会沿窗口边缘剪裁。如果转换涉及旋转、缩放或倾斜,则不显示 HTML 内容中加载的 SWF 和 PDF 内容。
|
下面的示例说明如何设置
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;
|
|
|