Flex에서 CoverFlow에 구성 요소 추가
-
20-08-2019 - |
문제
나는 함께 일하고있다 Doug McCune의 Coverflow 라이브러리.
포함 된 예에서 그는 내부에 일부 패널을 만들었습니다. CoverFlowContainer
. 위의 링크 된 페이지의 RSS 피드에서 표지 흐름을 채우는 다른 예가 있지만, 그는 다음과 같은 소스를 포함하지 않습니다.
나는 결국 웹 서비스에서 데이터를 검색하여 커버 플로에 추가하지만이 간단한 예를 시작합니다.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="center" verticalAlign="middle" xmlns:containers="com.dougmccune.containers.*" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.controls.TextArea;
public var articlePanel:Panel = new Panel();
public var articleTextArea:TextArea = new TextArea();
private function init() : void
{
articlePanel.addChild(articleTextArea);
articlePanel.title = "test tile"
articleTextArea.text = "article1" + "\n" + "www.article.com" + "\n" + "hello this is article 1";
coverflow2.addChild(articlePanel);
}
]]>
</mx:Script>
<mx:VBox id="box" verticalGap="0" height="306" width="100%" maxWidth="600" maxHeight="300" >
<containers:CoverFlowContainer id="coverflow2" width="100%" height="244"
horizontalGap="40" borderStyle="inset" backgroundColor="0x000000"
segments="6" reflectionEnabled="true">
<mx:Panel id="testpanel" width="200" height="200" title="Mxml title">
<mx:DataGrid width="100%" height="100%">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="col1"/>
<mx:DataGridColumn headerText="Column 2" dataField="col2"/>
<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
<mx:Panel id="buttonpanel" width="200" height="200" title="Mxml title">
<mx:Button id="myButton" label="Change title" click="buttonpanel.title = ('hello') "/>
</mx:Panel>
</containers:CoverFlowContainer>
</mx:VBox>
</mx:Application>
MXML에서 일부 패널을 정의하고 설정했습니다 creationComplete=init()
ActionScript에서 작성한 새 패널이 CoverFlow 컨테이너에 추가됩니다.
응용 프로그램을 시작하면 사전 정의 된 두 패널이 표시되지만 ActionScript에서 작성한 패널은 표시되지 않습니다.
어떤 아이디어? 더 좋은 방법이 있습니까?
해결책 2
먼저 Coverflow 컨테이너를 아무것도 정의 하여이 문제를 해결했습니다.
<containers:CoverFlowContainer id="coverflow" width="100%" height="244"
horizontalGap="40" borderStyle="inset" backgroundColor="0x000000"
reflectionEnabled="true"/>
ActionScript 섹션에서 웹 서비스에서 배열을 검색하고 배열의 각 항목에 대해 패널을 만듭니다. 각 패널이 너비와 높이를 제공하는 것이 중요합니다. 그렇지 않으면 커버 플로에 하나의 요소 만 표시되거나 전혀 요소가 없습니다.
articlePanel.width = 200;
articlePanel.height = 200;
다른 팁
MX : 리피터 구성 요소를 시도 할 수 있습니다
<mx:HTTPService id="srv" url="pics.xml"/>
<ns2:CarouselContainer id="cf" width="100%" height="303" horizontalGap="40"
segments="6" reflectionEnabled="true" angle="10" >
<mx:Repeater id="r" dataProvider="{srv.lastResult.images.image}">
<mx:Canvas width="200" height="200">
<mx:Image source="{r.currentItem.src}"/>
</mx:Canvas>
</mx:Repeater>
</ns2:CarouselContainer>
제휴하지 않습니다 StackOverflow