<s:SkinnableContainer styleName="top" width="1458" height="131" >
<s:VGroup left="50" verticalAlign="middle" height="131" styleName="profile_info">
<s:Image source="@Embed(source='images/logo.png')"/>
</s:VGroup>
</s:SkinnableContainer>
在我的申请表中我有这个:
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark"
width="800" height="600" addedToStage="stretchHandler()">
private function stretchHandler():void{
stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = StageAlign.TOP;
this.width = stage.stageWidth;
this.height = stage.stageHeight;
}
但是SkinnableContainer和里面的图像没有缩放,如何缩放它们?
答案 0 :(得分:0)
要让您的内容缩放到它的容器,您必须将高度和宽度设置为百分比EG:
<s:SkinnableContainer styleName="top" width="100%" height="100%"/>
这会使您的容器始终与其父容器的大小相同。但是,容器的内容仍将遵循其自己的大小设置。
Layout settings也很重要,在Group
中,两个设置为100%的对象会相互重叠,并且z
顺序中较高的对象将位于顶部。但是在VGroup
中,100%/ 100%的两个项目各占50%的高度和100%的宽度。
注1:Spark Image的作用类似于源图像的容器,而“容器”将扩展到父容器,源图像将遵循略有不同的规则,您必须使用Image.fillMode
和{{ 1}}来控制它(I recommend reading the docs on this)
注2:所有Image.scaleMode
都有最小/最大高度/宽度属性以及标准尺寸道具
答案 1 :(得分:0)
试试这个,
所有容器的宽度和高度都应该是百分比(%),图像以及图像需要给出scaleMode="stretch" fillMode="scale"
。
<s:SkinnableContainer left="300" styleName="top" width="90%" height="40%">
<s:Image source="@Embed(source='images/logo.png')" width="100%" height="100%" scaleMode="stretch" fillMode="scale"/>
</s:SkinnableContainer>
这样可行。