我有一个动态布局,其中一个图像被加载到一个 HBox 中:
<mx:HBox ...>
<mx:Image height="100%" .../>
</mx:HBox>
仅在图像上设置了图像的高度,以便它可以占用所有可用的垂直空间,而其宽度未定义,我希望宽度随其高度相应缩放。
事实证明,图像的高度等于它的 contentHeight,即高度适当地缩放;但是,图像的宽度仍然与measuredWidth(图像的原始宽度)相同,并且没有相应地缩放。
例如,如果图像的原始尺寸为 800x600,如果 HBox 的高度为 300,则图像高度将缩小到 300,但其宽度不会缩小到 400,而是保持在 800。
我尝试添加一个事件侦听器来显式设置图像宽度:
<mx:Image id="img" height="100%" updateComplete="img.width=img.contentWidth;" .../>
它仅在第一次加载图像时起作用,之后,如果我使用 Image.load() 动态加载不同的图像,它将停止工作 - 图像宽度设置为 0。
任何帮助/建议将不胜感激。