Packagefeathers.controls
Classpublic class List
InheritanceList Inheritance Scroller Inheritance FeathersControl Inheritance Sprite Inheritance DisplayObjectContainer Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Implements IFocusContainer, IDragSource, IDropTarget
Subclasses SpinnerList

Product Version : Feathers 1.0.0

Displays a one-dimensional list of items. Supports scrolling, custom item renderers, and custom layouts.

Layouts may be, and are highly encouraged to be, virtual, meaning that the List is capable of creating a limited number of item renderers to display a subset of the data provider instead of creating a renderer for every single item. This allows for optimal performance with very large data providers.

The following example creates a list, gives it a data provider, tells the item renderer how to interpret the data, and listens for when the selection changes:

var list:List = new List();

list.dataProvider = new ArrayCollection(
[
    { text: "Milk", thumbnail: textureAtlas.getTexture( "milk" ) },
    { text: "Eggs", thumbnail: textureAtlas.getTexture( "eggs" ) },
    { text: "Bread", thumbnail: textureAtlas.getTexture( "bread" ) },
    { text: "Chicken", thumbnail: textureAtlas.getTexture( "chicken" ) },
]);

list.itemRendererFactory = function():IListItemRenderer
{
    var itemRenderer:DefaultListItemRenderer = new DefaultListItemRenderer();
    itemRenderer.labelField = "text";
    itemRenderer.iconSourceField = "thumbnail";
    return itemRenderer;
};

list.addEventListener( Event.CHANGE, list_changeHandler );

this.addChild( list );

See also

How to use the Feathers List component
How to use the Feathers default item renderer
Creating custom item renderers for the Feathers List and GroupedList components
feathers.controls.GroupedList
feathers.controls.SpinnerList


Public Properties
 PropertyDefined By
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
  allowMultipleSelection : Boolean
If true multiple items may be selected at a time.
List
 Inheritedalpha : Number
The opacity of the object.
DisplayObject
 Inheritedbase : DisplayObject
[read-only] The topmost object in the display tree the object is part of.
DisplayObject
 InheritedblendMode : String
The blend mode determines how the object is blended with the objects underneath.
DisplayObject
 InheritedbottomPullView : DisplayObject
A view that is displayed at the bottom of the scroller's view port when dragging up.
Scroller
 InheritedbottomPullViewDisplayMode : String
Indicates whether the bottom pull view may be dragged with the content, or if its position is fixed to the edge of the scroller.
Scroller
 Inheritedbounds : Rectangle
[read-only] The bounds of the object relative to the local coordinates of the parent.
DisplayObject
  dataProvider : IListCollection
The collection of data displayed by the list.
List
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
  dragEnabled : Boolean
Indicates if this list can initiate drag and drop operations by touching an item and dragging it.
List
  dragFormat : String
Drag and drop is restricted to components that have the same dragFormat.
List
  dropEnabled : Boolean
Indicates if this list can accept items that are dragged and dropped over the list's hit area.
List
 InheritedeffectsSuspended : Boolean
[read-only] Indicates if effects have been suspended.
FeathersControl
 InheritedexplicitHeight : Number
[read-only] The height value explicitly set by passing a value to the height setter or by calling the setSize() function.
FeathersControl
 InheritedexplicitMaxHeight : Number
[read-only] The maximum height value explicitly set by passing a value to the maxHeight setter.
FeathersControl
 InheritedexplicitMaxWidth : Number
[read-only] The maximum width value explicitly set by passing a value to the maxWidth setter.
FeathersControl
 InheritedexplicitMinHeight : Number
[read-only] The minimum height value explicitly set by passing a value to the minHeight setter.
FeathersControl
 InheritedexplicitMinWidth : Number
[read-only] The minimum width value explicitly set by passing a value to the minWidth setter.
FeathersControl
 InheritedexplicitWidth : Number
[read-only] The width value explicitly set by passing a value to the width setter or to the setSize() method.
FeathersControl
  factoryIDFunction : Function
When a list requires multiple item renderer types, this function is used to determine which type of item renderer is required for a specific item (or index).
List
 Inheritedfilter : FragmentFilter
The filter that is attached to the display object.
DisplayObject
 InheritedfocusInEffect : Function
An optional effect that is activated when the component receives focus.
FeathersControl
 InheritedfocusManager : IFocusManager
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The current focus manager for this component.
FeathersControl
 InheritedfocusOutEffect : Function
An optional effect that is activated when the component loses focus.
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Used for associating focusable display objects that are not direct children with an "owner" focusable display object, such as pop-ups.
FeathersControl
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all List components.
List
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
 InheritedhideEffect : Function
An optional effect that is activated when the component is hidden.
FeathersControl
 InheritedhorizontalPageCount : int
[read-only] The number of horizontal pages, if snapping is enabled.
Scroller
 InheritedhorizontalPageIndex : int
The index of the horizontal page, if snapping is enabled.
Scroller
 InheritedhorizontalScrollBarFactory : Function
Creates the horizontal scroll bar.
Scroller
 InheritedhorizontalScrollBarProperties : Object
An object that stores properties for the container's horizontal scroll bar, and the properties will be passed down to the horizontal scroll bar when the container validates.
Scroller
 InheritedhorizontalScrollPolicy : String
Determines whether the scroller may scroll horizontally (on the x-axis) or not.
Scroller
 InheritedhorizontalScrollPosition : Number
The number of pixels the container has been scrolled horizontally (on the x-axis).
Scroller
 InheritedhorizontalScrollStep : Number
The number of pixels the horizontal scroll position can be adjusted by a "step".
Scroller
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 Inheritedis3D : Boolean
[read-only] Indicates if this object or any of its parents is a 'Sprite3D' object.
DisplayObject
 InheritedisBottomPullViewActive : Boolean
Indicates if the bottomPullView has been activated.
Scroller
  isChildFocusEnabled : Boolean
Determines if this component's children can receive focus.
List
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Determines if this component can receive focus.
FeathersControl
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisLeftPullViewActive : Boolean
Indicates if the leftPullView has been activated.
Scroller
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 InheritedisRightPullViewActive : Boolean
Indicates if the rightPullView has been activated.
Scroller
 InheritedisScrolling : Boolean
[read-only] Determines if the scroller is currently scrolling with user interaction or with animation.
Scroller
  isSelectable : Boolean
Determines if items in the list may be selected.
List
 InheritedisShowingFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. Indicates if the showFocus() method has been called on the object when it has focus.
FeathersControl
 InheritedisTopPullViewActive : Boolean
Indicates if the topPullView has been activated.
Scroller
  itemRendererFactory : Function
A function called that is expected to return a new item renderer.
List
  itemRendererProperties : Object
An object that stores properties for all of the list's item renderers, and the properties will be passed down to every item renderer when the list validates.
List
  itemRendererType : Class
The class used to instantiate item renderers.
List
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedleftPullView : DisplayObject
A view that is displayed to the left of the scroller's view port when dragging to the right.
Scroller
 InheritedleftPullViewDisplayMode : String
Indicates whether the left pull view may be dragged with the content, or if its position is fixed to the edge of the scroller.
Scroller
 InheritedmaintainTouchFocus : Boolean
[read-only] The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. If true, the display object should remain in focus, even if something else is touched.
FeathersControl
 Inheritedmask : DisplayObject
The display object that acts as a mask for the current object.
DisplayObject
 InheritedmaskInverted : Boolean
Indicates if the masked region of this object is set to be inverted.
DisplayObject
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxHorizontalPageIndex : int
[read-only] The maximum horizontal page index that may be displayed by this container, if page snapping is enabled.
Scroller
 InheritedmaxHorizontalScrollPosition : Number
[read-only] The number of pixels the scroller may be scrolled horizontally to the right.
Scroller
 InheritedmaxVerticalPageIndex : int
[read-only] The maximum vertical page index that may be displayed by this container, if page snapping is enabled.
Scroller
 InheritedmaxVerticalScrollPosition : Number
[read-only] The number of pixels the scroller may be scrolled vertically beyond the bottom edge.
Scroller
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmeasureViewPort : Boolean
Determines if the dimensions of the view port are used when measuring the scroller.
Scroller
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHorizontalPageIndex : int
[read-only] The minimum horizontal page index that may be displayed by this container, if page snapping is enabled.
Scroller
 InheritedminHorizontalScrollPosition : Number
[read-only] The number of pixels the scroller may be scrolled horizontally to the left.
Scroller
 InheritedminimumDragDistance : Number
The minimum physical distance (in inches) that a touch must move before the scroller starts scrolling.
Scroller
 InheritedminimumPageThrowVelocity : Number
The minimum physical velocity (in inches per second) that a touch must move before the scroller will "throw" to the next page.
Scroller
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminVerticalPageIndex : int
[read-only] The minimum vertical page index that may be displayed by this container, if page snapping is enabled.
Scroller
 InheritedminVerticalScrollPosition : Number
[read-only] The number of pixels the scroller may be scrolled vertically beyond the top edge.
Scroller
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmoveEffect : Function
An optional effect that is activated when the component is moved to a new position.
FeathersControl
 Inheritedname : String
The name of the display object (default: null).
DisplayObject
 InheritednextDownFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.DOWN is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextLeftFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.LEFT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextRightFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.RIGHT is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednextTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when the tab key is pressed when a focus manager is enabled.
FeathersControl
 InheritednextUpFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The next object that will receive focus when Keyboard.UP is pressed at KeyLocation.D_PAD and a focus manager is enabled.
FeathersControl
 InheritednumChildren : int
[read-only] The number of children of this container.
DisplayObjectContainer
 InheritedpageHeight : Number
When set, the vertical pages snap to this height value instead of the height of the scroller.
Scroller
 InheritedpageWidth : Number
When set, the horizontal pages snap to this width value instead of the width of the scroller.
Scroller
 Inheritedparent : DisplayObjectContainer
[read-only] The display object container that contains this display object.
DisplayObject
 InheritedpivotX : Number
The x coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 InheritedpivotY : Number
The y coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 InheritedpreviousTabFocus : IFocusDisplayObject
The implementation of this property is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface. The previous object that will receive focus when the tab key is pressed while holding shift when a focus manager is enabled.
FeathersControl
 InheritedrequiresRedraw : Boolean
[read-only] Indicates if the object needs to be redrawn in the upcoming frame, i.e.
DisplayObject
 InheritedresizeEffect : Function
An optional effect that is activated when the component is resized with new dimensions.
FeathersControl
 InheritedrightPullView : DisplayObject
A view that is displayed to the right of the scroller's view port when dragging to the left.
Scroller
 InheritedrightPullViewDisplayMode : String
Indicates whether the right pull view may be dragged with the content, or if its position is fixed to the edge of the scroller.
Scroller
 Inheritedroot : DisplayObject
[read-only] The root object the display object is connected to (i.e.
DisplayObject
 Inheritedrotation : Number
The rotation of the object in radians.
DisplayObject
 Inheritedscale : Number
Sets both 'scaleX' and 'scaleY' to the same value.
DisplayObject
 InheritedscaleX : Number
The horizontal scale factor.
DisplayObject
 InheritedscaleY : Number
The vertical scale factor.
DisplayObject
  selectedIndex : int
The index of the currently selected item.
List
  selectedIndices : Vector.<int>
The indices of the currently selected items.
List
  selectedItem : Object
The currently selected item.
List
  selectedItems : Vector.<Object>
The currently selected item.
List
 InheritedshowEffect : Function
An optional effect that is activated when the component is shown.
FeathersControl
 InheritedskewX : Number
The horizontal skew angle in radians.
DisplayObject
 InheritedskewY : Number
The vertical skew angle in radians.
DisplayObject
 Inheritedstage : Stage
[read-only] The stage the display object is connected to, or null if it is not connected to the stage.
DisplayObject
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
 InheritedtoolTip : String
Text to display in a tool tip to when hovering over this component, if the ToolTipManager is enabled.
FeathersControl
 InheritedtopPullView : DisplayObject
A view that is displayed at the top of the scroller's view port when dragging down.
Scroller
 InheritedtopPullViewDisplayMode : String
Indicates whether the top pull view may be dragged with the content, or if its position is fixed to the edge of the scroller.
Scroller
 Inheritedtouchable : Boolean
Indicates if this object (and its children) will receive touch events.
DisplayObject
 InheritedtouchGroup : Boolean
If a container is a 'touchGroup', it will act as a single touchable object.
DisplayObjectContainer
 InheritedtransformationMatrix : Matrix
The transformation matrix of the object relative to its parent.
DisplayObject
 InheritedtransformationMatrix3D : Matrix3D
[read-only] The 3D transformation matrix of the object relative to its parent.
DisplayObject
  typicalItem : Object
Used to auto-size the list when a virtualized layout is used.
List
 InheriteduseHandCursor : Boolean
Indicates if the mouse cursor should transform into a hand while it's over the sprite.
DisplayObject
 InheritedverticalMouseWheelScrollDirection : String
The direction of scrolling when the user scrolls the mouse wheel vertically.
Scroller
 InheritedverticalMouseWheelScrollStep : Number
The number of pixels the vertical scroll position can be adjusted by a "step" when using the mouse wheel.
Scroller
 InheritedverticalPageCount : int
[read-only] The number of vertical pages, if snapping is enabled.
Scroller
 InheritedverticalPageIndex : int
The index of the vertical page, if snapping is enabled.
Scroller
 InheritedverticalScrollBarFactory : Function
Creates the vertical scroll bar.
Scroller
 InheritedverticalScrollBarProperties : Object
An object that stores properties for the container's vertical scroll bar, and the properties will be passed down to the vertical scroll bar when the container validates.
Scroller
 InheritedverticalScrollPolicy : String
Determines whether the scroller may scroll vertically (on the y-axis) or not.
Scroller
 InheritedverticalScrollPosition : Number
The number of pixels the container has been scrolled vertically (on the y-axis).
Scroller
 InheritedverticalScrollStep : Number
The number of pixels the vertical scroll position can be adjusted by a "step".
Scroller
 InheritedviewPort : IViewPort
The display object displayed and scrolled within the Scroller.
Scroller
 Inheritedvisible : Boolean
The visibility of the object.
DisplayObject
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
 Inheritedx : Number
The x coordinate of the object relative to the local coordinates of the parent.
DisplayObject
 Inheritedy : Number
The y coordinate of the object relative to the local coordinates of the parent.
DisplayObject
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualMinHeight : Number = 0
The final minimum height value that should be used for layout.
FeathersControl
 InheritedactualMinWidth : Number = 0
The final minimum width value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the styleProvider property is set to this value.
FeathersControl
 InheritedhasPendingHorizontalPageIndex : Boolean = false
A flag that indicates if the scroller should scroll to a new page when it validates.
Scroller
 InheritedhasPendingVerticalPageIndex : Boolean = false
A flag that indicates if the scroller should scroll to a new page when it validates.
Scroller
 InheritedhorizontalScrollBar : IScrollBar
The horizontal scrollbar instance.
Scroller
 InheritedhorizontalScrollBarStyleName : String = feathers-scroller-horizontal-scroll-bar
The value added to the styleNameList of the horizontal scroll bar.
Scroller
 InheritedpendingHorizontalPageIndex : int
The pending horizontal page index to scroll to after validating.
Scroller
 InheritedpendingHorizontalScrollPosition : Number = NaN
The pending horizontal scroll position to scroll to after validating.
Scroller
  pendingItemIndex : int = -1
The pending item index to scroll to after validating.
List
 InheritedpendingScrollDuration : Number
The duration of the pending scroll action.
Scroller
 InheritedpendingVerticalPageIndex : int
The pending vertical page index to scroll to after validating.
Scroller
 InheritedpendingVerticalScrollPosition : Number = NaN
The pending vertical scroll position to scroll to after validating.
Scroller
 InheritedverticalScrollBar : IScrollBar
The vertical scrollbar instance.
Scroller
 InheritedverticalScrollBarStyleName : String = feathers-scroller-vertical-scroll-bar
The value added to the styleNameList of the vertical scroll bar.
Scroller
Public Methods
 MethodDefined By
  
Constructor.
List
 Inherited
Adds a child to the container.
DisplayObjectContainer
 Inherited
Adds a child to the container at a certain index.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function):void
[override] Registers an event listener at a certain object.
DisplayObject
  
addItemWithEffect(item:Object, index:int, effect:Function):void
Adds an item from the data provider and animates its item renderer using an effect.
List
 Inherited
alignPivot(horizontalAlign:String = center, verticalAlign:String = center):void
Moves the pivot point to a certain position within the local coordinate system of the object.
DisplayObject
 Inherited
broadcastEvent(event:Event):void
Dispatches an event on all children (recursively).
DisplayObjectContainer
 Inherited
broadcastEventWith(eventType:String, data:Object = null):void
Dispatches an event with the given parameters on all children (recursively).
DisplayObjectContainer
 Inherited
contains(child:DisplayObject):Boolean
Determines if a certain object is a child of the container (recursively).
DisplayObjectContainer
 Inherited
dispatchEvent(event:Event):void
Dispatches an event to all objects that have registered listeners for its type.
EventDispatcher
 Inherited
dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void
Dispatches an event with the given parameters to all objects that have registered listeners for the given type.
EventDispatcher
 Inherited
dispose():void
[override] Disposes the resources of all children.
DisplayObjectContainer
 Inherited
drawToBitmapData(out:BitmapData = null, color:uint = 0x0, alpha:Number = 0.0):BitmapData
Draws the object into a BitmapData object.
DisplayObject
 Inherited
getBounds(targetSpace:DisplayObject, resultRect:Rectangle = null):Rectangle
[override] Feathers components use an optimized getBounds() implementation that may sometimes behave differently than regular Starling display objects.
FeathersControl
 Inherited
Returns a child object at a certain index.
DisplayObjectContainer
 Inherited
Returns a child object with a certain name (non-recursively).
DisplayObjectContainer
 Inherited
Returns the index of a child within the container, or "-1" if it is not found.
DisplayObjectContainer
  
getItemRendererFactoryWithID(id:String):Function
Returns the item renderer factory associated with a specific ID.
List
  
getSelectedItems(result:Vector.<Object> = null):Vector.<Object>
Returns the selected items, with the ability to pass in an optional result vector.
List
 Inherited
getTransformationMatrix(targetSpace:DisplayObject, out:Matrix = null):Matrix
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
getTransformationMatrix3D(targetSpace:DisplayObject, out:Matrix3D = null):Matrix3D
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
globalToLocal(globalPoint:Point, out:Point = null):Point
Transforms a point from global (stage) coordinates to the local coordinate system.
DisplayObject
 Inherited
globalToLocal3D(globalPoint:Point, out:Vector3D = null):Vector3D
Transforms a point from global (stage) coordinates to the 3D local coordinate system.
DisplayObject
 Inherited
hasEventListener(type:String, listener:Function = null):Boolean
If called with one argument, figures out if there are any listeners registered for the given event type.
EventDispatcher
 Inherited
hideFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
hitTest(localPoint:Point):DisplayObject
[override] Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails.
DisplayObjectContainer
 Inherited
hitTestMask(localPoint:Point):Boolean
Checks if a certain point is inside the display object's mask.
DisplayObject
 Inherited
If the component has not yet initialized, initializes immediately.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
  
Returns the current item renderer used to render a specific item.
List
 Inherited
local3DToGlobal(localPoint:Vector3D, out:Point = null):Point
Transforms a 3D point from the local coordinate system to global (stage) coordinates.
DisplayObject
 Inherited
localToGlobal(localPoint:Point, out:Point = null):Point
Transforms a point from the local coordinate system to global (stage) coordinates.
DisplayObject
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
 Inherited
removeChild(child:DisplayObject, dispose:Boolean = false):DisplayObject
Removes a child from the container.
DisplayObjectContainer
 Inherited
removeChildAt(index:int, dispose:Boolean = false):DisplayObject
Removes a child at a certain index.
DisplayObjectContainer
 Inherited
removeChildren(beginIndex:int = 0, endIndex:int = -1, dispose:Boolean = false):void
Removes a range of children from the container (endIndex included).
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function):void
[override] Removes an event listener from the object.
DisplayObject
 Inherited
removeEventListeners(type:String = null):void
[override] Removes all event listeners with a certain type, or all of them if type is null.
DisplayObject
 Inherited
removeFromParent(dispose:Boolean = false):void
Removes the object from its parent, if it has one, and optionally disposes it.
DisplayObject
 Inherited
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent.
FeathersControl
  
removeItemWithEffect(item:Object, effect:Function):void
Removes an item from the data provider after animating its item renderer using an effect.
List
 Inherited
render(painter:Painter):void
[override] Renders the display object with the help of a painter object.
DisplayObjectContainer
 Inherited
Resets the styleProvider property to its default value, which is usually the global style provider for the component.
FeathersControl
 Inherited
Indicates that effects should be re-activated after being suspended.
FeathersControl
 Inherited
If the scroll bars are floating, briefly show them as a hint to the user.
Scroller
  
scrollToDisplayIndex(index:int, animationDuration:Number = 0):void
Scrolls the list so that the specified item is visible.
List
 Inherited
scrollToPageIndex(horizontalPageIndex:int, verticalPageIndex:int, animationDuration:Number):void
After the next validation, animates the scroll position to a specific page index.
Scroller
 Inherited
scrollToPosition(horizontalScrollPosition:Number, verticalScrollPosition:Number, animationDuration:Number):void
After the next validation, animates the scroll positions to a specific location.
Scroller
 Inherited
setChildIndex(child:DisplayObject, index:int):void
Moves a child to a certain index.
DisplayObjectContainer
  
setItemRendererFactoryWithID(id:String, factory:Function):void
Associates an item renderer factory with an ID to allow multiple types of item renderers may be displayed in the list.
List
 Inherited
Forces the object to be redrawn in the next frame.
DisplayObject
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
 Inherited
showFocus():void
The implementation of this method is provided for convenience, but it cannot be used unless a subclass implements the IFocusDisplayObject interface.
FeathersControl
 Inherited
sortChildren(compareFunction:Function):void
Sorts the children according to a given function (that works just like the sort function of the Vector class).
DisplayObjectContainer
 Inherited
If the user is scrolling with touch or if the scrolling is animated, calling stopScrolling() will cause the scroller to ignore the drag and stop animations.
Scroller
 Inherited
Indicates that effects should not be activated temporarily.
FeathersControl
 Inherited
Swaps the indexes of two children.
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
Swaps the indexes of two children.
DisplayObjectContainer
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
 Inherited
If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself.
Scroller
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
 Inherited
Prepares the scroller for normal interaction and dispatches FeathersEventType.SCROLL_COMPLETE.
Scroller
 Inherited
Creates and adds the horizontalScrollBar and verticalScrollBar sub-components and removes the old instances, if they exist.
Scroller
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
Scrolls to a pending scroll position, if required.
Scroller
 Inherited
The next style that is set will not be restricted.
FeathersControl
 Inherited
initialize():void
Called the first time that the UI control is added to the stage, and you should override this function to customize the initialization process.
FeathersControl
 Inherited
Positions and sizes children based on the actual width and height values.
Scroller
 Inherited
processStyleRestriction(key:Object):Boolean
Used by setters for properties that are considered "styles" to determine if the setter has been called directly on the component or from a style provider.
FeathersControl
 Inherited
Choose the appropriate background skin based on the control's current state.
Scroller
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
saveMeasurements(width:Number, height:Number, minWidth:Number = 0, minHeight:Number = 0):Boolean
Saves the dimensions and minimum dimensions calculated for the component.
FeathersControl
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
 Inherited
If scrolling hasn't already started, prepares the scroller to scroll and dispatches FeathersEventType.SCROLL_START.
Scroller
 Inherited
throwTo(targetHorizontalScrollPosition:Number, targetVerticalScrollPosition:Number, duration:Number = 0.5):void
Immediately throws the scroller to the specified position, with optional animation.
Scroller
 Inherited
throwToPage(targetHorizontalPageIndex:int, targetVerticalPageIndex:int, duration:Number = 0.5):void
Immediately throws the scroller to the specified page index, with optional animation.
Scroller
Events
 Event Summary Defined By
 InheritedDispatched when an object is added to a parent.DisplayObject
 InheritedDispatched when an object is connected to the stage (directly or indirectly).DisplayObject
 InheritedDispatched when the user starts dragging the scroller when ScrollInteractionMode.TOUCH is enabled or when the user starts interacting with the scroll bar.Scroller
  Dispatched when the selected item changes.List
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched when the user stops dragging the scroller when ScrollInteractionMode.TOUCH is enabled or when the user stops interacting with the scroll bar.Scroller
 InheritedDispatched once every frame on every object that is connected to the stage.DisplayObject
 InheritedDispatched when the component receives focus.Scroller
 InheritedDispatched when the component loses focus.Scroller
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched when a key on the keyboard is pressed.DisplayObject
 InheritedDispatched when a key on the keyboard is released.DisplayObject
 InheritedDispatched when an object is removed from its parent.DisplayObject
 InheritedDispatched when an object is removed from the stage and won't be rendered any longer.DisplayObject
  Dispatched when an item renderer is added to the list.List
  Dispatched when an item renderer is removed from the list.List
 InheritedDispatched when the width or height of the control changes.FeathersControl
 InheritedDispatched when the scroller scrolls in either direction or when the view port's scrolling bounds have changed.Scroller
 InheritedDispatched when the scroller finishes scrolling in either direction as a result of either user interaction or animation.Scroller
 InheritedDispatched when the scroller starts scrolling in either direction as a result of either user interaction or animation.Scroller
 InheritedDispatched when an object is touched.DisplayObject
  Dispatched when the the user taps or clicks an item renderer in the list.List
 InheritedDispatched when a pull view is activated.Scroller
Styles
 Style Description Defined By
 InheritedType: Boolean
If true, the background's visible property will be set to false when the scroll position is greater than or equal to the minimum scroll position and less than or equal to the maximum scroll position.

See also

Scroller
 InheritedType: starling.display.DisplayObject
A background to display when the container is disabled.

See also

Scroller
 InheritedType: starling.display.DisplayObject
The default background to display.

See also

Scroller
 InheritedType: Boolean
If true, the viewport will be clipped to the scroller's bounds.
Scroller
 InheritedType: String
A style name to add to the container's horizontal scroll bar sub-component.

See also

Scroller
  
customItemRendererStyleName
Type: String
A style name to add to all item renderers in this list. Typically used by a theme to provide different skins to different lists.

The following example sets the item renderer name:

list.customItemRendererStyleName = "my-custom-item-renderer";

In your theme, you can target this sub-component name to provide different skins than the default style:

getStyleProviderForClass( DefaultListItemRenderer ).setFunctionForStyleName( "my-custom-item-renderer", setCustomItemRendererStyles );
The default value is null.

See also

List
 InheritedType: String
A style name to add to the container's vertical scroll bar sub-component.

See also

Scroller
 InheritedType: Number
This value is used to decelerate the scroller when "thrown".

See also

Scroller
  
dropIndicatorSkin
Type: starling.display.DisplayObject
A skin to display when dragging one an item to indicate where it can be dropped.

In the following example, the list's drop indicator is provided:

list.dropIndicatorSkin = new Image( texture );
The default value is null.
List
 InheritedType: Number
If the scroll position goes outside the minimum or maximum bounds when the scroller's content is being actively dragged, the scrolling will be constrained using this multiplier.

See also

Scroller
 InheritedType: Number
The duration, in seconds, of the animation when a the scroller snaps back to the minimum or maximum position after going out of bounds.

See also

Scroller
 InheritedType: starling.display.DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.

See also

FeathersControl
 InheritedType: Number
Quickly sets all focus padding properties to the same value.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.

See also

FeathersControl
 InheritedType: Number
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.

See also

FeathersControl
 InheritedType: Boolean
Determines if the scrolling can go beyond the edges of the viewport.

See also

Scroller
 InheritedType: Number
The duration, in seconds, of the animation when a scroll bar fades out.

See also

Scroller
 InheritedType: Object
The easing function used for hiding the scroll bars, if applicable.

See also

Scroller
 InheritedType: String
Determines where the horizontal scroll bar will be positioned.

See also

Scroller
 InheritedType: String
Determines how the user may interact with the scroller.

See also

Scroller
  
keyScrollDuration
Type: Number
The duration, in seconds, of the animation when the selected item is changed by keyboard navigation and the item scrolls into view.

In the following example, the duration of the animation that scrolls the list to a new selected item is set to 500 milliseconds:

list.keyScrollDuration = 0.5;
The default value is 0.25.
List
  
layout
Type: feathers.layout.ILayout
The layout algorithm used to position and, optionally, size the list's items.

By default, if no layout is provided by the time that the list initializes, a vertical layout with options targeted at touch screens is created.

The following example tells the list to use a horizontal layout:

var layout:HorizontalLayout = new HorizontalLayout(); layout.gap = 20; layout.padding = 20; list.layout = layout;
The default value is null.
List
 InheritedType: Number
The duration, in seconds, of the animation when the mouse wheel initiates a scroll action.
Scroller
 InheritedType: Number
Quickly sets all padding properties to the same value.

See also

Scroller
 InheritedType: Number
The minimum space, in pixels, between the container's bottom edge and the container's content.

See also

Scroller
 InheritedType: Number
The minimum space, in pixels, between the container's left edge and the container's content.

See also

Scroller
 InheritedType: Number
The minimum space, in pixels, between the container's right edge and the container's content.

See also

Scroller
 InheritedType: Number
The minimum space, in pixels, between the container's top edge and the container's content.

See also

Scroller
 InheritedType: Number
The duration, in seconds, of the animation when the scroller is thrown to a page.
Scroller
 InheritedType: Number
The duration, in seconds, that the scroll bars will be shown when calling revealScrollBars().

See also

Scroller
 InheritedType: String
Determines how the scroll bars are displayed.

See also

Scroller
 InheritedType: Boolean
If enabled, the scroll position will always be adjusted to the nearest pixel on the physical screen.
Scroller
 InheritedType: Boolean
Determines if scrolling will snap to the nearest page.
Scroller
 InheritedType: Object
The easing function used for "throw" animations.

See also

Scroller
 InheritedType: Number
If the scroll position goes outside the minimum or maximum bounds when the scroller's content is "thrown", the scrolling will be constrained using this multiplier.

See also

Scroller
 InheritedType: Boolean
If true, the duration of a "throw" animation will be the same no matter the value of the throw's initial velocity.

See also

Scroller
 InheritedType: String
Determines where the vertical scroll bar will be positioned.

See also

Scroller
Public Constants
 ConstantDefined By
 InheritedDEFAULT_CHILD_STYLE_NAME_HORIZONTAL_SCROLL_BAR : String = feathers-scroller-horizontal-scroll-bar
[static] The default value added to the styleNameList of the horizontal scroll bar.
Scroller
 InheritedDEFAULT_CHILD_STYLE_NAME_VERTICAL_SCROLL_BAR : String = feathers-scroller-vertical-scroll-bar
[static] The default value added to the styleNameList of the vertical scroll bar.
Scroller
 InheritedINVALIDATION_FLAG_ALL : String = all
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = data
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = focus
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = layout
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = scroll
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = selected
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = size
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = skin
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = state
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = styles
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Protected Constants
 ConstantDefined By
 InheritedINVALIDATION_FLAG_CLIPPING : String = clipping
[static] Flag to indicate that the clipping has changed.
Scroller
Property Detail
allowMultipleSelectionproperty
allowMultipleSelection:Boolean

If true multiple items may be selected at a time. If false, then only a single item may be selected at a time, and if the selection changes, other items are deselected. Has no effect if isSelectable is false.

In the following example, multiple selection is enabled:

    list.allowMultipleSelection = true;

The default value is false.


Implementation
    public function get allowMultipleSelection():Boolean
    public function set allowMultipleSelection(value:Boolean):void

See also

dataProviderproperty 
dataProvider:IListCollection

The collection of data displayed by the list. Changing this property to a new value is considered a drastic change to the list's data, so the horizontal and vertical scroll positions will be reset, and the list's selection will be cleared.

The following example passes in a data provider and tells the item renderer how to interpret the data:

    list.dataProvider = new ArrayCollection(
    [
        { text: "Milk", thumbnail: textureAtlas.getTexture( "milk" ) },
        { text: "Eggs", thumbnail: textureAtlas.getTexture( "eggs" ) },
        { text: "Bread", thumbnail: textureAtlas.getTexture( "bread" ) },
        { text: "Chicken", thumbnail: textureAtlas.getTexture( "chicken" ) },
    ]);
    
    list.itemRendererFactory = function():IListItemRenderer
    {
        var renderer:DefaultListItemRenderer = new DefaultListItemRenderer();
        renderer.labelField = "text";
        renderer.iconSourceField = "thumbnail";
        return renderer;
    };

Warning: A list's data provider cannot contain duplicate items. To display the same item in multiple item renderers, you must create separate objects with the same properties. This restriction exists because it significantly improves performance.

Warning: If the data provider contains display objects, concrete textures, or anything that needs to be disposed, those objects will not be automatically disposed when the list is disposed. Similar to how starling.display.Image cannot automatically dispose its texture because the texture may be used by other display objects, a list cannot dispose its data provider because the data provider may be used by other lists. See the dispose() function on IListCollection to see how the data provider can be disposed properly.

The default value is null.


Implementation
    public function get dataProvider():IListCollection
    public function set dataProvider(value:IListCollection):void

See also

dragEnabledproperty 
dragEnabled:Boolean

Indicates if this list can initiate drag and drop operations by touching an item and dragging it. The dragEnabled property enables dragging items, but dropping items must be enabled separately with the dropEnabled property.

In the following example, a list's items may be dragged:

    list.dragEnabled = true;


Implementation
    public function get dragEnabled():Boolean
    public function set dragEnabled(value:Boolean):void

See also

dragFormatproperty 
dragFormat:String

Drag and drop is restricted to components that have the same dragFormat.

In the following example, the drag format of two lists is customized:

    list1.dragFormat = "my-custom-format";
    list2.dragFormat = "my-custom-format";

The default value is "feathers-list-item".


Implementation
    public function get dragFormat():String
    public function set dragFormat(value:String):void
dropEnabledproperty 
dropEnabled:Boolean

Indicates if this list can accept items that are dragged and dropped over the list's hit area.

In the following example, a list's items may be dropped:

    list.dropEnabled = true;


Implementation
    public function get dropEnabled():Boolean
    public function set dropEnabled(value:Boolean):void

See also

factoryIDFunctionproperty 
factoryIDFunction:Function

When a list requires multiple item renderer types, this function is used to determine which type of item renderer is required for a specific item (or index). Returns the ID of the item renderer type to use for the item, or null if the default itemRendererFactory should be used.

The function is expected to have one of the following signatures:

function(item:Object):String
function(item:Object, index:int):String

The following example provides a factoryIDFunction:

    function regularItemFactory():IListItemRenderer
    {
        return new DefaultListItemRenderer();
    }
    function headerItemFactory():IListItemRenderer
    {
        return new CustomItemRenderer();
    }
    list.setItemRendererFactoryWithID( "regular-item", regularItemFactory );
    list.setItemRendererFactoryWithID( "header-item", listHeaderFactory );
    
    list.factoryIDFunction = function( item:Object, index:int ):String
    {
        if(index == 0)
        {
            return "header-item";
        }
        return "regular-item";
    };

The default value is null.


Implementation
    public function get factoryIDFunction():Function
    public function set factoryIDFunction(value:Function):void

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all List components.

The default value is null.

See also

isChildFocusEnabledproperty 
isChildFocusEnabled:Boolean

Determines if this component's children can receive focus. This property is completely independent from the isFocusEnabled property. In other words, it's possible to disable focus on this component while still allowing focus on its children (or the other way around).

In the following example, the focus is disabled:

    object.isFocusEnabled = false;

The default value is true.


Implementation
    public function get isChildFocusEnabled():Boolean
    public function set isChildFocusEnabled(value:Boolean):void

See also

isSelectableproperty 
isSelectable:Boolean

Determines if items in the list may be selected. By default only a single item may be selected at any given time. In other words, if item A is selected, and the user selects item B, item A will be deselected automatically. Set allowMultipleSelection to true to select more than one item without automatically deselecting other items.

The following example disables selection:

    list.isSelectable = false;

The default value is true.


Implementation
    public function get isSelectable():Boolean
    public function set isSelectable(value:Boolean):void

See also

itemRendererFactoryproperty 
itemRendererFactory:Function

A function called that is expected to return a new item renderer. Has a higher priority than itemRendererType. Typically, you would use an itemRendererFactory instead of an itemRendererType if you wanted to initialize some properties on each separate item renderer, such as skins.

The function is expected to have the following signature:

function():IListItemRenderer

The following example provides a factory for the item renderer:

    list.itemRendererFactory = function():IListItemRenderer
    {
        var renderer:CustomItemRendererClass = new CustomItemRendererClass();
        renderer.backgroundSkin = new Quad( 10, 10, 0xff0000 );
        return renderer;
    };

The default value is null.


Implementation
    public function get itemRendererFactory():Function
    public function set itemRendererFactory(value:Function):void

See also

itemRendererPropertiesproperty 
itemRendererProperties:Object

An object that stores properties for all of the list's item renderers, and the properties will be passed down to every item renderer when the list validates. The available properties depend on which IListItemRenderer implementation is returned by itemRendererFactory.

By default, the itemRendererFactory will return a DefaultListItemRenderer instance. If you aren't using a custom item renderer, you can refer to feathers.controls.renderers.DefaultListItemRenderer for a list of available properties.

These properties are shared by every item renderer, so anything that cannot be shared (such as display objects, which cannot be added to multiple parents) should be passed to item renderers using the itemRendererFactory or in the theme.

The following example customizes some item renderer properties (this example assumes that the item renderer's label text renderer is a BitmapFontTextRenderer):

    list.itemRendererProperties.labelField = "text";
    list.itemRendererProperties.accessoryField = "control";

If the subcomponent has its own subcomponents, their properties can be set too, using attribute @ notation. For example, to set the skin on the thumb which is in a SimpleScrollBar, which is in a List, you can use the following syntax:

list.verticalScrollBarProperties.@thumbProperties.defaultSkin = new Image(texture);

Setting properties in a itemRendererFactory function instead of using itemRendererProperties will result in better performance.

The default value is null.


Implementation
    public function get itemRendererProperties():Object
    public function set itemRendererProperties(value:Object):void

See also

itemRendererTypeproperty 
itemRendererType:Class

The class used to instantiate item renderers. Must implement the IListItemRenderer interface.

To customize properties on the item renderer, use itemRendererFactory instead.

The following example changes the item renderer type:

    list.itemRendererType = CustomItemRendererClass;

The default value is feathers.controls.renderers.DefaultListItemRenderer.


Implementation
    public function get itemRendererType():Class
    public function set itemRendererType(value:Class):void

See also

pendingItemIndexproperty 
protected var pendingItemIndex:int = -1

The pending item index to scroll to after validating. A value of -1 means that the scroller won't scroll to an item after validating.

selectedIndexproperty 
selectedIndex:int

The index of the currently selected item. Returns -1 if no item is selected.

The following example selects an item by its index:

    list.selectedIndex = 2;

The following example clears the selected index:

    list.selectedIndex = -1;

The following example listens for when selection changes and requests the selected index:

    function list_changeHandler( event:Event ):void
    {
        var list:List = List( event.currentTarget );
        var index:int = list.selectedIndex;
    
    }
    list.addEventListener( Event.CHANGE, list_changeHandler );

The default value is -1.


Implementation
    public function get selectedIndex():int
    public function set selectedIndex(value:int):void

See also

selectedIndicesproperty 
selectedIndices:Vector.<int>

The indices of the currently selected items. Returns an empty Vector.<int> if no items are selected. If allowMultipleSelection is false, only one item may be selected at a time.

The following example selects two items by their indices:

    list.selectedIndices = new <int>[ 2, 3 ];

The following example clears the selected indices:

    list.selectedIndices = null;

The following example listens for when selection changes and requests the selected indices:

    function list_changeHandler( event:Event ):void
    {
        var list:List = List( event.currentTarget );
        var indices:Vector.<int> = list.selectedIndices;
    
    }
    list.addEventListener( Event.CHANGE, list_changeHandler );


Implementation
    public function get selectedIndices():Vector.<int>
    public function set selectedIndices(value:Vector.<int>):void

See also

selectedItemproperty 
selectedItem:Object

The currently selected item. Returns null if no item is selected.

The following example changes the selected item:

    list.selectedItem = list.dataProvider.getItemAt(0);

The following example clears the selected item:

    list.selectedItem = null;

The following example listens for when selection changes and requests the selected item:

    function list_changeHandler( event:Event ):void
    {
        var list:List = List( event.currentTarget );
        var item:Object = list.selectedItem;
    
    }
    list.addEventListener( Event.CHANGE, list_changeHandler );

The default value is null.


Implementation
    public function get selectedItem():Object
    public function set selectedItem(value:Object):void

See also

selectedItemsproperty 
selectedItems:Vector.<Object>

The currently selected item. The getter returns an empty Vector.<Object> if no item is selected. If any items are selected, the getter creates a new Vector.<Object> to return a list of selected items.

The following example selects two items:

    list.selectedItems = new <Object>[ list.dataProvider.getItemAt(2) , list.dataProvider.getItemAt(3) ];

The following example clears the selected items:

    list.selectedItems = null;

The following example listens for when selection changes and requests the selected items:

    function list_changeHandler( event:Event ):void
    {
        var list:List = List( event.currentTarget );
        var items:Vector.<Object> = list.selectedItems;
    
    }
    list.addEventListener( Event.CHANGE, list_changeHandler );


Implementation
    public function get selectedItems():Vector.<Object>
    public function set selectedItems(value:Vector.<Object>):void

See also

typicalItemproperty 
typicalItem:Object

Used to auto-size the list when a virtualized layout is used. If the list's width or height is unknown, the list will try to automatically pick an ideal size. This item is used to create a sample item renderer to measure item renderers that are virtual and not visible in the viewport.

The following example provides a typical item:

    list.typicalItem = { text: "A typical item", thumbnail: texture };

The default value is null.


Implementation
    public function get typicalItem():Object
    public function set typicalItem(value:Object):void
Constructor Detail
List()Constructor
public function List()

Constructor.

Method Detail
addItemWithEffect()method
public function addItemWithEffect(item:Object, index:int, effect:Function):void

Adds an item from the data provider and animates its item renderer using an effect.

In the following example, an effect fades the item renderer's alpha property from 0 to 1:

    list.addItemWithEffect(newItem, list.dataProvider.length, Fade.createFadeBetweenEffect(0, 1));

A number of animated effects may be found in the feathers.motion package. However, you are not limited to only these effects. It's possible to create custom effects too.

A custom effect function should have the following signature:

function(target:DisplayObject):IEffectContext

The IEffectContext is used by the component to control the effect, performing actions like playing the effect, pausing it, or cancelling it.

Custom animated effects that use starling.display.Tween typically return a TweenEffectContext. In the following example, we recreate the Fade.createFadeBetweenEffect() used in the previous example.

    function customEffect(target:DisplayObject):IEffectContext
    {
        target.alpha = 0;
        var tween:Tween = new Tween(target, 0.5, Transitions.EASE_OUT);
        tween.fadeTo(1);
        return new TweenEffectContext(target, tween);
    }
    list.addItemWithEffect(newItem, list.dataProvider.length, customEffect);

Parameters

item:Object
 
index:int
 
effect:Function

See also

getItemRendererFactoryWithID()method 
public function getItemRendererFactoryWithID(id:String):Function

Returns the item renderer factory associated with a specific ID. Returns null if no factory is associated with the ID.

Parameters

id:String

Returns
Function

See also

getSelectedItems()method 
public function getSelectedItems(result:Vector.<Object> = null):Vector.<Object>

Returns the selected items, with the ability to pass in an optional result vector. Better for performance than the selectedItems getter because it can avoid the allocation, and possibly garbage collection, of the result object.

Parameters

result:Vector.<Object> (default = null)

Returns
Vector.<Object>

See also

itemToItemRenderer()method 
public function itemToItemRenderer(item:Object):IListItemRenderer

Returns the current item renderer used to render a specific item. May return null if an item doesn't currently have an item renderer. Most lists use virtual layouts where only the visible items will have an item renderer, so the result will usually be null for most items in the data provider.

Parameters

item:Object

Returns
IListItemRenderer

See also

removeItemWithEffect()method 
public function removeItemWithEffect(item:Object, effect:Function):void

Removes an item from the data provider after animating its item renderer using an effect.

In the following example, an effect fades the item renderer's alpha property to 0:

    list.removeItemWithEffect(newItem, list.dataProvider.length, Fade.createFadeOutEffect());

A number of animated effects may be found in the feathers.motion package. However, you are not limited to only these effects. It's possible to create custom effects too.

A custom effect function should have the following signature:

function(target:DisplayObject):IEffectContext

The IEffectContext is used by the component to control the effect, performing actions like playing the effect, pausing it, or cancelling it.

Custom animated effects that use starling.display.Tween typically return a TweenEffectContext. In the following example, we recreate the Fade.createFadeOutEffect() used in the previous example.

    function customEffect(target:DisplayObject):IEffectContext
    {
        var tween:Tween = new Tween(target, 0.5, Transitions.EASE_OUT);
        tween.fadeTo(0);
        return new TweenEffectContext(target, tween);
    }
    list.removeItemWithEffect(newItem, customEffect);

Parameters

item:Object
 
effect:Function

See also

scrollToDisplayIndex()method 
public function scrollToDisplayIndex(index:int, animationDuration:Number = 0):void

Scrolls the list so that the specified item is visible. If animationDuration is greater than zero, the scroll will animate. The duration is in seconds.

If the layout is virtual with variable item dimensions, this function may not accurately scroll to the exact correct position. A virtual layout with variable item dimensions is often forced to estimate positions, so the results aren't guaranteed to be accurate.

If you want to scroll to the end of the list, it is better to use scrollToPosition() with maxHorizontalScrollPosition or maxVerticalScrollPosition.

In the following example, the list is scrolled to display index 10:

    list.scrollToDisplayIndex( 10 );

Parameters

index:int — The integer index of an item from the data provider.
 
animationDuration:Number (default = 0) — The length of time, in seconds, of the animation. May be zero to scroll instantly.

See also

setItemRendererFactoryWithID()method 
public function setItemRendererFactoryWithID(id:String, factory:Function):void

Associates an item renderer factory with an ID to allow multiple types of item renderers may be displayed in the list. A custom factoryIDFunction may be specified to return the ID of the factory to use for a specific item in the data provider.

Parameters

id:String
 
factory:Function

See also

Event Detail
change Event
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.CHANGE

Dispatched when the selected item changes.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

An event type to be utilized in custom events. Not used by Starling right now.

See also

rendererAdd Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.RENDERER_ADD

Dispatched when an item renderer is added to the list. When the layout is virtualized, item renderers may not exist for every item in the data provider. This event can be used to track which items currently have renderers.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
dataThe item renderer that was added.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

The FeathersEventType.RENDERER_ADD event type is used by Feathers components with item renderers to indicate when a new renderer has been added. This event type is meant to be used with virtualized layouts where only a limited set of renderers will be created for a data provider that may include a larger number of items.
rendererRemove Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.RENDERER_REMOVE

Dispatched when an item renderer is removed from the list. When the layout is virtualized, item renderers may not exist for every item in the data provider. This event can be used to track which items currently have renderers.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
dataThe item renderer that was removed.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

The FeathersEventType.RENDERER_REMOVE event type is used by Feathers controls with item renderers to indicate when a renderer is removed. This event type is meant to be used with virtualized layouts where only a limited set of renderers will be created for a data provider that may include a larger number items.
triggered Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.TRIGGERED

Dispatched when the the user taps or clicks an item renderer in the list. The touch must remain within the bounds of the item renderer on release, and the list must not have scrolled, to register as a tap or a click.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
dataThe item associated with the item renderer that was triggered.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

Event type for a triggered button.