내 원래 목표는 내 클라이언트가 자신을 유지 할 수있는 SWF 외부 XML 파일을 가지고 있었다 따라서 그들은 표시된 이미지를 제어 할 수 있습니다.
제가 게시 한 첫 번째 대답은 제가 생각했던 해결책이 아니 었습니다 : fx:XML
을 사용하면 XML 파일의 내용이 실제로 SWF로 컴파일되므로 컴파일 후에 변경할 수 없습니다.
그래서 제임스 솔루션을 구현했습니다.
은 XML 파일은 다음과 같다 :
<?xml version="1.0" encoding="ISO-8859-1"?>
<images>
<image source="path/to/image1.jpg" />
<image source="path/to/image2.jpg" />
<image source="path/to/image3.jpg" />
<image source="path/to/image4.jpg" />
</images>
MXML :
<?xml version="1.0" encoding="utf-8"?>
<s:Group
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function lstImages_creationCompleteHandler(event : FlexEvent) : void
{
dpHttpService.send();
}
]]>
</fx:Script>
<fx:Declarations>
<mx:HTTPService
id="dpHttpService"
url="images.xml"
/>
</fx:Declarations>
<s:List
id="lstImages"
dataProvider="{dpHttpService.lastResult.images.image}"
width="100%"
itemRenderer="path.to.render.ImageRenderer"
skinClass="path.to.skins.ListSkin"
>
<s:layout>
<s:HorizontalLayout gap="2" />
</s:layout>
</s:List>
</s:Group>
그리고 이미지 렌더러에서
, 나는 다음과 같은 데이터를 참조하십시오
<mx:Image
id="imgRendered"
source="{data.source}"
/>
정말 이 솔루션에 대한 유용한 점은 전체에 http://
개의 참조를 넣을 수 있다는 것입니다. 다른 사이트 (물론 crossdomain.xml
기억).
실제로 images.xml 파일은 다른 서버에있을 수 있습니다.
XML을 네트워크를 통해로드 한 다음 List 또는 DataGrid에 표시하겠습니까? –
기본적으로 클라이언트를 구성 파일로 사용하여 구성 요소에 나타날 이미지를 지정할 수 있습니다. –