【问题标题】:AS3 : Create a responsive mxml resize bitmapimage which resizes according to browserAS3:创建响应式 mxml 调整大小位图图像,根据浏览器调整大小
【发布时间】:2017-07-25 19:40:03
【问题描述】:

我有一个简单的位图图像,宽 3 像素,高 150 像素,作为布局中的顶部横幅。

<s:BitmapImage id="blueBanner" source="{this.bmpimg}" width="100%"/>

其余内容在此下方居中。

无论浏览器窗口大小如何,当页面打开时,图像始终会填满可用宽度。

我有一个浏览器窗口调整大小处理程序,它将横幅下方的主要内容重置为新窗口大小的中心,这非常有效。

但无论浏览器调整多少次,BitmapImage 都不会拉伸比原来的窗口宽度。

我已经尝试了 BitmapImage 的每个属性和方法,我认为这些属性和方法可能会在调整大小处理程序中影响到这一点,但我找不到任何影响。

我不明白它是如何记住最初的舞台宽度的。

它的父容器都设置为 100% 宽度,并且在整个项目中没有不寻常的皮肤或对此对象的任何其他引用,除了可以包含在布局中或不包含在布局中的函数中,但这个函数永远不会在这种情况下调用。

谁能提供任何关于它为什么不会自动拉伸的线索?

道格

【问题讨论】:

  • 你看过 ScaleMode 吗?
  • @NealDavis 我同意,如果 stage.scaleMode 没有设置,内容会自动缩放并且永远不会调用 resize 处理程序(我认为)。
  • 如果您发布一个小示例应用程序,我可以看看。

标签: actionscript-3 flash apache-flex flash-builder


【解决方案1】:

感谢所有回复。事实上,我通过将 BitmapImage 行添加到 Application Skin 解决了这个问题。一旦它在此处以及在布局中工作。我不知道为什么它需要在这两个地方,但是一旦像这样设置,一切都会正常工作。

设置 ScaleMode 没有区别,并且在 blueBanner 标记中或稍后在 resizeHandler 中设置 screen.width(因为在运行标记时并不总是可用)也对我的布局没有任何影响。

道格

【讨论】:

    【解决方案2】:

    简单,只需将宽度设置为screen.width 即可。

    <s:BitmapImage id="blueBanner" source="{this.bmpimg}" width="{screen.width}"/>
    

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 1970-01-01
      • 2012-07-20
      • 2013-02-13
      • 2015-08-05
      • 2011-10-04
      • 2013-04-19
      • 2016-01-22
      • 1970-01-01
      相关资源
      最近更新 更多