AS3:创建响应式 mxml 调整大小位图图像,根据浏览器调整大小
Posted
技术标签:
【中文标题】AS3:创建响应式 mxml 调整大小位图图像,根据浏览器调整大小【英文标题】:AS3 : Create a responsive mxml resize bitmapimage which resizes according to browser 【发布时间】:2017-07-25 19:40:03 【问题描述】:我有一个简单的位图图像,宽 3 像素,高 150 像素,作为布局中的顶部横幅。
<s:BitmapImage id="blueBanner" source="this.bmpimg" />
其余内容在此下方居中。
无论浏览器窗口大小如何,当页面打开时,图像始终会填满可用宽度。
我有一个浏览器窗口调整大小处理程序,它将横幅下方的主要内容重置为新窗口大小的中心,这非常有效。
但无论浏览器调整多少次,BitmapImage 都不会拉伸宽比原来的窗口宽度。
我已经尝试了 BitmapImage 的每个属性和方法,我认为这些属性和方法可能会在调整大小处理程序中影响到这一点,但我找不到任何影响。
我不明白它是如何记住最初的舞台宽度的。
它的父容器都设置为 100% 宽度,并且在整个项目中没有不寻常的皮肤或对此对象的任何其他引用,除了可以包含在布局中或不包含在布局中的函数中,但这个函数永远不会在这种情况下调用。
谁能提供任何关于它为什么不会自动拉伸的线索?
道格
【问题讨论】:
你看过 ScaleMode 吗? @NealDavis 我同意,如果 stage.scaleMode 没有设置,内容会自动缩放并且永远不会调用 resize 处理程序(我认为)。 如果您发布一个小示例应用程序,我可以看看。 【参考方案1】:感谢所有回复。事实上,我通过将 BitmapImage 行添加到 Application Skin 解决了这个问题。一旦它在此处以及在布局中工作。我不知道为什么它需要在这两个地方,但是一旦像这样设置,一切都会正常工作。
设置 ScaleMode 没有区别,并且在 blueBanner 标记中或稍后在 resizeHandler 中设置 screen.width(因为在运行标记时并不总是可用)也对我的布局没有任何影响。
道格
【讨论】:
【参考方案2】:简单,只需将宽度设置为screen.width
即可。
<s:BitmapImage id="blueBanner" source="this.bmpimg" />
【讨论】:
以上是关于AS3:创建响应式 mxml 调整大小位图图像,根据浏览器调整大小的主要内容,如果未能解决你的问题,请参考以下文章
响应式网页设计:“如何使用 CSS 根据浏览器窗口大小调整背景图像的大小”?