| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <s:View xmlns:fx="http://ns.adobe.com/mxml/2009" |
| xmlns:s="library://ns.adobe.com/flex/spark" title="CarouselLayout" xmlns:ns="http://flex.apache.org/experimental/ns" xmlns:renderers="renderers.*"> |
| |
| <fx:Script> |
| <![CDATA[ |
| import spark.primitives.BitmapImage; |
| import spark.skins.spark.DefaultComplexItemRenderer; |
| |
| |
| protected function buttonHandler(event:MouseEvent):void |
| { |
| if(currentState == "DemoState") |
| { |
| currentState = "InfoState"; |
| } |
| else if(currentState == "InfoState") |
| { |
| currentState = "DemoState"; |
| } |
| } |
| ]]> |
| </fx:Script> |
| <s:states> |
| <s:State name="DemoState"/> |
| <s:State name="InfoState"/> |
| </s:states> |
| <fx:Declarations> |
| <s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/1.png')" |
| source240dpi="@Embed('assets/icons/240/1.png')" |
| source320dpi="@Embed('assets/icons/320/1.png')" |
| source480dpi="@Embed('assets/icons/480/1.png')" id="box1"/> |
| <s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/2.png')" |
| source240dpi="@Embed('assets/icons/240/2.png')" |
| source320dpi="@Embed('assets/icons/320/2.png')" |
| source480dpi="@Embed('assets/icons/480/2.png')" id="box2"/> |
| <s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/3.png')" |
| source240dpi="@Embed('assets/icons/240/3.png')" |
| source320dpi="@Embed('assets/icons/320/3.png')" |
| source480dpi="@Embed('assets/icons/480/3.png')" id="box3"/> |
| <s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/about.png')" id="aboutIcon" |
| source240dpi="@Embed('assets/icons/240/about.png')" |
| source320dpi="@Embed('assets/icons/320/about.png')" |
| source480dpi="@Embed('assets/icons/480/about.png')"/> |
| <s:MultiDPIBitmapSource source160dpi="@Embed('assets/icons/160/dock.png')" id="demoIcon" |
| source240dpi="@Embed('assets/icons/240/dock.png')" |
| source320dpi="@Embed('assets/icons/320/dock.png')" |
| source480dpi="@Embed('assets/icons/480/dock.png')"/> |
| </fx:Declarations> |
| <s:actionContent> |
| <s:Button click="buttonHandler(event)" icon.DemoState="{aboutIcon}" icon.InfoState="{demoIcon}"/> |
| </s:actionContent> |
| |
| <s:List id="list" horizontalCenter="0" verticalCenter="0" width="100%" height="100%" itemRenderer="spark.skins.spark.DefaultComplexItemRenderer" |
| pageScrollingEnabled="true" includeIn="DemoState"> |
| <s:layout> |
| <ns:CarouselLayout useScrollBarForNavigation="true" |
| scrollBarDirection="horizontal" |
| angle="40" |
| depthColor="1" |
| depthColorAlpha="0.5" |
| fieldOfView="90" |
| focalLength="600" |
| duration="250" |
| radiusY="100" |
| radiusZ="2000" |
| radiusX="570" /> |
| </s:layout> |
| <s:dataProvider> |
| <s:ArrayList> |
| <s:BitmapImage source="{box1}" /> |
| <s:BitmapImage source="{box2}" /> |
| <s:BitmapImage source="{box3}" /> |
| <s:BitmapImage source="{box1}" /> |
| <s:BitmapImage source="{box2}" /> |
| <s:BitmapImage source="{box3}" /> |
| <s:BitmapImage source="{box1}" /> |
| <s:BitmapImage source="{box2}" /> |
| <s:BitmapImage source="{box3}" /> |
| </s:ArrayList> |
| </s:dataProvider> |
| </s:List> |
| <s:TextArea includeIn="InfoState" selectable="false" left="10" right="10" top="10" bottom="10" editable="false" |
| text=" CarouselLayout class arranges the layout elements in a sequence along an arc, with one of them at a time selected. |
| |
| 
 
The position of the elements is determined by the radii radiusX, radiusY and radiusZ. These can be properties can be set the negative values to produce a ring of elements surrounding the view point. |
| |
| 
 
The rotation of the elements is determined by the rotationX and rotationY properties."/> |
| |
| </s:View> |