0
所以我在這個mx中加載了一個非常大的圖片:圖像manteinAspectRatio啓用了高度限制,並且照常不工作(Flex絕對不適用於我):加載的圖像調整大小後調整大小布局
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:Rect top="0" right="0" bottom="0" left="0">
<s:fill>
<mx:SolidColor color="#000000"/>
</s:fill>
</s:Rect>
<s:VGroup id="a" top="0" right="0" bottom="0" left="0" horizontalAlign="center" verticalAlign="middle">
<s:Group id="b">
<s:Rect id="c" top="0" right="0" bottom="0" left="0" radiusX="10" radiusY="10">
<s:fill>
<mx:SolidColor color="#cccccc"/>
</s:fill>
</s:Rect>
<s:VGroup id="d" paddingTop="10" paddingRight="10" paddingBottom="10" paddingLeft="10">
<mx:Image id="e" source="big.jpg" maxHeight="300" maintainAspectRatio="true" />
</s:VGroup>
</s:Group>
</s:VGroup>
</s:Application>
big.jpg的寬度比高度大,所以當它被調整大小時,包裝容器會得到正確的新高度,但它們仍然具有舊寬度。
我試圖調用validateNow()的每一個元素上,無效,使用callLater(),調整大小事件,競爭事件......我是一個小白已經厭倦了AS 3.0
UPDATE:
閱讀J_A_X答案,我結束了與此:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import flash.events.Event;
import mx.controls.Image;
private function fix(event:Event):void {
var img:Image = event.target as Image;
var h:uint = 300;
img.width *= h/img.height;
img.height = h;
img.removeEventListener("updateComplete", fix);
}
]]>
</fx:Script>
<s:Rect top="0" right="0" bottom="0" left="0">
<s:fill>
<mx:SolidColor color="#000000"/>
</s:fill>
</s:Rect>
<s:VGroup top="0" right="0" bottom="0" left="0" horizontalAlign="center" verticalAlign="middle">
<s:Group>
<s:Rect top="0" right="0" bottom="0" left="0" radiusX="10" radiusY="10">
<s:fill>
<mx:SolidColor color="#cccccc"/>
</s:fill>
</s:Rect>
<s:VGroup paddingTop="10" paddingRight="10" paddingBottom="10" paddingLeft="10">
<mx:Image source="big.jpg" maintainAspectRatio="false" updateComplete="fix(event)" />
</s:VGroup>
</s:Group>
</s:VGroup>
</s:Application>
我希望幫助一個又一個處理的Flex。
我還沒有嘗試你的代碼,但也許你應該嘗試沒有這麼多的容器。其中有一個可以調整圖像大小。 – papachan 2011-06-02 16:12:36
我不明白什麼是不工作。什麼是包裝容器?你爲什麼期望容器自己調整大小?你的代碼中沒有任何東西讓我認爲它應該。您是調整圖像大小,還是保持原樣?這是你的完整代碼嗎? – JeffryHouser 2011-06-02 16:30:00