IntheFlexCommunity

Table of contents

The 'InTheFlexCommunity' example takes off from a popular widget found on adobe.com's dev center widget. This example shows how close you can come to creating that same widget the rotating list component.

The image above would have the hand cursor showing as you are mousing over the Weblogs bar.

The image above shows the middle of the move and resize transition.

The image above shows the component in the tile layout state.

What's involved

The accomplish this look and feel from the base rotating list, we have done the following;

  • Set the barPlacement property to alternate. This gives the top, bottom, top, bottom animation.
  • Added a TextArea for the previewPaneRenderer property.
  • Set the previewPaneHeight property to 135 pixels.
  • Set the useBarHandCursor property to true. The bar will now show an underlined title and hand cursor when mousing over any bar of the rotating list.
  • Added three children of the rotating list. These instances are subclassed list panes and are PodListPane mxml components.
  • This example also adds Back easing and sets the duration styles.

Conclusion

As you can see, there is not much work in creating the rotating list container. The customization comes down to the mxml subclassed ListPanes (PodListPane).

MXML Code

< ?xml version="1.0" encoding="utf-8"? >
<mx:Application 
	xmlns:mx="http://www.adobe.com/2006/mxml" 
	xmlns:containers="com.teotiGraphix.containers.*"
	xmlns:listPanes="components.listPanes.*"
	backgroundGradientColors="[#FFFFFF,#FFFFFF]"
	backgroundColor="#FFFFFF"
	creationComplete="initApp()"
	layout="horizontal">
 
	<!--
		IntheFlexCommunity.mxml
	-->
 
	<mx:Style>
.rotatingListStyles {
	borderColor:#3A75A6;
}
 
.previewPaneStyles {
	cornerRadius:10;	
}		
	</mx:Style>
 
	<mx:Script>
		<![CDATA[
 
			import mx.effects.easing.Back;
 
			[Bindable]
			private var moveEasingFunction:Function; //= Back.easeInOut;
 
			[Bindable]
			private var resizeDuration:Number = 1000;
 
			[Bindable]
			private var moveDuration:Number = 1000;
 
			private function initApp():void
			{
			}
 
		]]>
	</mx:Script>
 
	<!--
			minimizeBarThickness="26"
			previewPaneStyleName="previewPaneStyles"
	-->	
 
	<containers:RotatingListFX id="rotatingList"
		barPlacement="alternate"
 
		previewPaneRenderer="components.previewPanes.TextAreaPreview"
		previewPaneHeight="135"
 
		selectedIndex="3"
		tileLayoutClass="components.layouts.ThreePaneLeft"
		useBarHandCursor="true"
 
		moveEasingFunction="{moveEasingFunction}"
		moveDuration="{moveDuration}"
		resizeDuration="{resizeDuration}"
		resizeEasingFunction="{moveEasingFunction}"
 
		styleName="rotatingListStyles"
 
		change="trace('change event', event.newIndex, event.oldIndex)"
 
		width="520" height="500">
 
		<listPanes:PodListPane
			title="Weblogs"/>
 
		<listPanes:PodListPane
			title="Upcoming events"/>
 
		<listPanes:PodListPane
			title="Recent articles"/> 
 
	</containers:RotatingListFX>
 
</mx:Application>
Privacy Policy | Copyright Notice| Disclaimer| Product EULA
©2003-2008 Teoti Graphix, LLC - All rights reserved.