Package | feathers.controls |
Class | public class List |
Inheritance | List ![]() ![]() ![]() |
Implements | IFocusContainer |
Subclasses | SpinnerList |
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 ListCollection( [ { 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; }; list.addEventListener( Event.CHANGE, list_changeHandler ); this.addChild( list );
See also
Property | Defined By | ||
---|---|---|---|
allowMultipleSelection : Boolean
If true multiple items may be selected at a time. | List | ||
![]() | autoHideBackground : 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. | Scroller | |
![]() | backgroundDisabledSkin : DisplayObject
A background to display when the container is disabled. | Scroller | |
![]() | backgroundSkin : DisplayObject
The default background to display. | Scroller | |
![]() | clipContent : Boolean
If true, the viewport will be clipped to the scroller's bounds. | Scroller | |
![]() | customHorizontalScrollBarName : String
DEPRECATED: Replaced by customHorizontalScrollBarName. | Scroller | |
![]() | customHorizontalScrollBarStyleName : String
A style name to add to the container's horizontal scroll bar
sub-component. | Scroller | |
customItemRendererStyleName : String
A style name to add to all item renderers in this list. | List | ||
![]() | customVerticalScrollBarName : String
DEPRECATED: Replaced by customVerticalScrollBarStyleName. | Scroller | |
![]() | customVerticalScrollBarStyleName : String
A style name to add to the container's vertical scroll bar
sub-component. | Scroller | |
dataProvider : ListCollection
The collection of data displayed by the list. | List | ||
![]() | decelerationRate : Number
This value is used to decelerate the scroller when "thrown". | Scroller | |
![]() | defaultTextEditorFactory : Function [static]
A function used by all UI controls that support text editor to
create an ITextEditor instance. | FeathersControl | |
![]() | defaultTextRendererFactory : Function [static]
A function used by all UI controls that support text renderers to
create an ITextRenderer instance. | FeathersControl | |
![]() | depth : int [read-only]
The component's depth in the display list, relative to the stage. | FeathersControl | |
![]() | elasticity : 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. | Scroller | |
![]() | elasticSnapDuration : 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. | Scroller | |
![]() | focusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be
displayed above the component when showFocus() is
called. | FeathersControl | |
![]() | focusManager : IFocusManager | FeathersControl | |
![]() | focusOwner : IFocusDisplayObject | FeathersControl | |
![]() | focusPadding : Number
Quickly sets all focus padding properties to the same value. | FeathersControl | |
![]() | focusPaddingBottom : Number
The minimum space, in pixels, between the object's bottom edge and the
bottom edge of the focus indicator skin. | FeathersControl | |
![]() | focusPaddingLeft : Number
The minimum space, in pixels, between the object's left edge and the
left edge of the focus indicator skin. | FeathersControl | |
![]() | focusPaddingRight : Number
The minimum space, in pixels, between the object's right edge and the
right edge of the focus indicator skin. | FeathersControl | |
![]() | focusPaddingTop : Number
The minimum space, in pixels, between the object's top edge and the
top edge of the focus indicator skin. | FeathersControl | |
globalStyleProvider : IStyleProvider [static]
The default IStyleProvider for all List
components. | List | ||
![]() | hasElasticEdges : Boolean
Determines if the scrolling can go beyond the edges of the viewport. | Scroller | |
![]() | height : Number [override]
The height of the component, in pixels. | FeathersControl | |
![]() | hideScrollBarAnimationDuration : Number
The duration, in seconds, of the animation when a scroll bar fades
out. | Scroller | |
![]() | hideScrollBarAnimationEase : Object
The easing function used for hiding the scroll bars, if applicable. | Scroller | |
![]() | horizontalPageCount : int [read-only]
The number of horizontal pages, if snapping is enabled. | Scroller | |
![]() | horizontalPageIndex : int [read-only]
The index of the horizontal page, if snapping is enabled. | Scroller | |
![]() | horizontalScrollBarFactory : Function
Creates the horizontal scroll bar. | Scroller | |
![]() | horizontalScrollBarProperties : 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 | |
![]() | horizontalScrollPolicy : String
Determines whether the scroller may scroll horizontally (on the
x-axis) or not. | Scroller | |
![]() | horizontalScrollPosition : Number
The number of pixels the container has been scrolled horizontally (on
the x-axis). | Scroller | |
![]() | horizontalScrollStep : Number
The number of pixels the horizontal scroll position can be adjusted
by a "step". | Scroller | |
![]() | includeInLayout : Boolean
Determines if the ILayout should use this object or ignore it. | FeathersControl | |
![]() | interactionMode : String
Determines how the user may interact with the scroller. | Scroller | |
isChildFocusEnabled : Boolean
Determines if this component's children can receive focus. | List | ||
![]() | isCreated : Boolean [read-only]
Determines if the component has been initialized and validated for
the first time. | FeathersControl | |
![]() | isEnabled : Boolean
Indicates whether the control is interactive or not. | FeathersControl | |
![]() | isFocusEnabled : Boolean | FeathersControl | |
![]() | isInitialized : Boolean [read-only]
Determines if the component has been initialized yet. | FeathersControl | |
![]() | isQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list. | FeathersControl | |
![]() | isScrolling : 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 | ||
itemRendererFactory : Function
A function called that is expected to return a new item renderer. | List | ||
itemRendererName : String
DEPRECATED: Replaced by customItemRendererStyleName. | 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 | ||
keyScrollDuration : Number
The duration, in seconds, of the animation when the selected item is
changed by keyboard navigation and the item scrolls into view. | List | ||
layout : ILayout
The layout algorithm used to position and, optionally, size the
list's items. | List | ||
![]() | layoutData : ILayoutData
Extra parameters associated with this display object that will be
used by the layout algorithm. | FeathersControl | |
![]() | maxHeight : Number
The maximum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | maxHorizontalPageIndex : int [read-only]
The maximum horizontal page index that may be displayed by this
container, if page snapping is enabled. | Scroller | |
![]() | maxHorizontalScrollPosition : Number [read-only]
The number of pixels the scroller may be scrolled horizontally to the
right. | Scroller | |
![]() | maxVerticalPageIndex : int [read-only]
The maximum vertical page index that may be displayed by this
container, if page snapping is enabled. | Scroller | |
![]() | maxVerticalScrollPosition : Number [read-only]
The number of pixels the scroller may be scrolled vertically beyond
the bottom edge. | Scroller | |
![]() | maxWidth : Number
The maximum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | measureViewPort : Boolean
Determines if the dimensions of the view port are used when measuring
the scroller. | Scroller | |
![]() | minHeight : Number
The minimum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | minHorizontalPageIndex : int [read-only]
The minimum horizontal page index that may be displayed by this
container, if page snapping is enabled. | Scroller | |
![]() | minHorizontalScrollPosition : Number [read-only]
The number of pixels the scroller may be scrolled horizontally to the
left. | Scroller | |
![]() | minimumDragDistance : Number
The minimum physical distance (in inches) that a touch must move
before the scroller starts scrolling. | Scroller | |
![]() | minimumPageThrowVelocity : Number
The minimum physical velocity (in inches per second) that a touch
must move before the scroller will "throw" to the next page. | Scroller | |
![]() | minTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's
height is smaller than this value, it will be expanded. | FeathersControl | |
![]() | minTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's
width is smaller than this value, it will be expanded. | FeathersControl | |
![]() | minVerticalPageIndex : int [read-only]
The minimum vertical page index that may be displayed by this
container, if page snapping is enabled. | Scroller | |
![]() | minVerticalScrollPosition : Number [read-only]
The number of pixels the scroller may be scrolled vertically beyond
the top edge. | Scroller | |
![]() | minWidth : Number
The minimum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | |
![]() | mouseWheelScrollDuration : Number
The duration, in seconds, of the animation when the mouse wheel
initiates a scroll action. | Scroller | |
![]() | nextTabFocus : IFocusDisplayObject | FeathersControl | |
![]() | padding : Number
Quickly sets all padding properties to the same value. | Scroller | |
![]() | paddingBottom : Number
The minimum space, in pixels, between the container's bottom edge and
the container's content. | Scroller | |
![]() | paddingLeft : Number
The minimum space, in pixels, between the container's left edge and the
container's content. | Scroller | |
![]() | paddingRight : Number
The minimum space, in pixels, between the container's right edge and
the container's content. | Scroller | |
![]() | paddingTop : Number
The minimum space, in pixels, between the container's top edge and the
container's content. | Scroller | |
![]() | pageHeight : Number
When set, the vertical pages snap to this height value instead of
the height of the scroller. | Scroller | |
![]() | pageThrowDuration : Number
The duration, in seconds, of the animation when the scroller is
thrown to a page. | Scroller | |
![]() | pageWidth : Number
When set, the horizontal pages snap to this width value instead of
the width of the scroller. | Scroller | |
![]() | previousTabFocus : IFocusDisplayObject | FeathersControl | |
![]() | revealScrollBarsDuration : Number
The duration, in seconds, that the scroll bars will be shown when
calling revealScrollBars()
| Scroller | |
![]() | scrollBarDisplayMode : String
Determines how the scroll bars are displayed. | Scroller | |
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 | ||
![]() | snapScrollPositionsToPixels : Boolean
If enabled, the scroll position will always be adjusted to whole
pixels. | Scroller | |
![]() | snapToPages : Boolean
Determines if scrolling will snap to the nearest page. | Scroller | |
![]() | styleName : String
The concatenated styleNameList, with values separated
by spaces. | FeathersControl | |
![]() | styleNameList : TokenList [read-only]
Contains a list of all "styles" assigned to this control. | FeathersControl | |
![]() | styleProvider : IStyleProvider
When a component initializes, a style provider may be used to set
properties that affect the component's visual appearance. | FeathersControl | |
![]() | throwEase : Object
The easing function used for "throw" animations. | Scroller | |
![]() | throwElasticity : 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. | Scroller | |
typicalItem : Object
Used to auto-size the list when a virtualized layout is used. | List | ||
![]() | useFixedThrowDuration : Boolean
If true, the duration of a "throw" animation will be the
same no matter the value of the throw's initial velocity. | Scroller | |
![]() | verticalMouseWheelScrollDirection : String
The direction of scrolling when the user scrolls the mouse wheel
vertically. | Scroller | |
![]() | verticalMouseWheelScrollStep : Number
The number of pixels the vertical scroll position can be adjusted by
a "step" when using the mouse wheel. | Scroller | |
![]() | verticalPageCount : int [read-only]
The number of vertical pages, if snapping is enabled. | Scroller | |
![]() | verticalPageIndex : int [read-only]
The index of the vertical page, if snapping is enabled. | Scroller | |
![]() | verticalScrollBarFactory : Function
Creates the vertical scroll bar. | Scroller | |
![]() | verticalScrollBarPosition : String
Determines where the vertical scroll bar will be positioned. | Scroller | |
![]() | verticalScrollBarProperties : 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 | |
![]() | verticalScrollPolicy : String
Determines whether the scroller may scroll vertically (on the
y-axis) or not. | Scroller | |
![]() | verticalScrollPosition : Number
The number of pixels the container has been scrolled vertically (on
the y-axis). | Scroller | |
![]() | verticalScrollStep : Number
The number of pixels the vertical scroll position can be adjusted
by a "step". | Scroller | |
![]() | viewPort : IViewPort
The display object displayed and scrolled within the Scroller. | Scroller | |
![]() | width : Number [override]
The width of the component, in pixels. | FeathersControl |
Property | Defined By | ||
---|---|---|---|
![]() | actualHeight : Number = 0
The final height value that should be used for layout. | FeathersControl | |
![]() | actualWidth : Number = 0
The final width value that should be used for layout. | FeathersControl | |
![]() | defaultStyleProvider : IStyleProvider [read-only]
When the FeathersControl constructor is called, the
globalStyleProvider property is set to this value. | FeathersControl | |
![]() | explicitHeight : Number = NaN
The height value explicitly set by calling the height setter or
setSize(). | FeathersControl | |
![]() | explicitWidth : Number = NaN
The width value explicitly set by calling the width setter or
setSize(). | FeathersControl | |
![]() | hasPendingHorizontalPageIndex : Boolean = false
A flag that indicates if the scroller should scroll to a new page
when it validates. | Scroller | |
![]() | hasPendingVerticalPageIndex : Boolean = false
A flag that indicates if the scroller should scroll to a new page
when it validates. | Scroller | |
![]() | horizontalScrollBar : IScrollBar
The horizontal scrollbar instance. | Scroller | |
![]() | horizontalScrollBarName : String
DEPRECATED: Replaced by horizontalScrollBarStyleName. | Scroller | |
![]() | horizontalScrollBarStyleName : String = feathers-scroller-horizontal-scroll-bar
The value added to the styleNameList of the horizontal
scroll bar. | Scroller | |
![]() | pendingHorizontalPageIndex : int
The pending horizontal page index to scroll to after validating. | Scroller | |
![]() | pendingHorizontalScrollPosition : 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 | ||
![]() | pendingScrollDuration : Number
The duration of the pending scroll action. | Scroller | |
![]() | pendingVerticalPageIndex : int
The pending vertical page index to scroll to after validating. | Scroller | |
![]() | pendingVerticalScrollPosition : Number = NaN
The pending vertical scroll position to scroll to after validating. | Scroller | |
![]() | verticalScrollBar : IScrollBar
The vertical scrollbar instance. | Scroller | |
![]() | verticalScrollBarName : String
DEPRECATED: Replaced by verticalScrollBarStyleName. | Scroller | |
![]() | verticalScrollBarStyleName : String = feathers-scroller-vertical-scroll-bar
The value added to the styleNameList of the vertical
scroll bar. | Scroller |
Method | Defined By | ||
---|---|---|---|
List()
Constructor. | List | ||
getSelectedItems(result:Vector.<Object> = null):Vector.<Object>
Returns the selected items, with the ability to pass in an optional
result vector. | List | ||
![]() | hideFocus():void
If the visual indicator of focus has been displayed by
showFocus(), call this function to hide it. | FeathersControl | |
![]() | invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending. | FeathersControl | |
![]() | isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not. | FeathersControl | |
![]() | move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single
function call. | FeathersControl | |
![]() | revealScrollBars():void
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 | ||
![]() | scrollToPageIndex(horizontalPageIndex:int, verticalPageIndex:int, animationDuration:Number):void
After the next validation, animates the scroll position to a specific
page index. | Scroller | |
![]() | scrollToPosition(horizontalScrollPosition:Number, verticalScrollPosition:Number, animationDuration:Number):void
After the next validation, animates the scroll positions to a
specific location. | Scroller | |
![]() | setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single
function call. | FeathersControl | |
![]() | showFocus():void
If the object has focus, an additional visual indicator may
optionally be displayed to highlight the object. | FeathersControl | |
![]() | stopScrolling():void
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 | |
![]() | validate():void
Immediately validates the display object, if it is invalid. | FeathersControl |
Event | Summary | Defined By | ||
---|---|---|---|---|
![]() | Dispatched when the user starts dragging the scroller when INTERACTION_MODE_TOUCH is enabled or when the user starts interacting with the scroll bar. | Scroller | ||
Dispatched when the selected item changes. | List | |||
![]() | Dispatched after the component has validated for the first time. | FeathersControl | ||
![]() | Dispatched when the user stops dragging the scroller when INTERACTION_MODE_TOUCH is enabled or when the user stops interacting with the scroll bar. | Scroller | ||
![]() | Dispatched when the component receives focus. | Scroller | ||
![]() | Dispatched when the component loses focus. | Scroller | ||
![]() | Dispatched after initialize() has been called, but before the first time that draw() has been called. | FeathersControl | ||
Dispatched when an item renderer is added to the list. | List | |||
Dispatched when an item renderer is removed from the list. | List | |||
![]() | Dispatched when the width or height of the control changes. | FeathersControl | ||
![]() | Dispatched when the scroller scrolls in either direction or when the view port's scrolling bounds have changed. | Scroller | ||
![]() | Dispatched when the scroller finishes scrolling in either direction as a result of either user interaction or animation. | Scroller | ||
![]() | Dispatched when the scroller starts scrolling in either direction as a result of either user interaction or animation. | Scroller | ||
Dispatched when the the user taps or clicks an item renderer in the list. | List |
Constant | Defined By | ||
---|---|---|---|
DECELERATION_RATE_FAST : Number = 0.99 [static]
Decelerates a bit faster per millisecond than the default. | List | ||
DECELERATION_RATE_NORMAL : Number = 0.998 [static]
The default deceleration rate per millisecond. | List | ||
![]() | DEFAULT_CHILD_NAME_HORIZONTAL_SCROLL_BAR : String = feathers-scroller-horizontal-scroll-bar [static]
DEPRECATED: Replaced by Scroller.DEFAULT_CHILD_STYLE_NAME_HORIZONTAL_SCROLL_BAR. | Scroller | |
![]() | DEFAULT_CHILD_NAME_VERTICAL_SCROLL_BAR : String = feathers-scroller-vertical-scroll-bar [static]
DEPRECATED: Replaced by Scroller.DEFAULT_CHILD_STYLE_NAME_VERTICAL_SCROLL_BAR. | Scroller | |
![]() | DEFAULT_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 | |
![]() | DEFAULT_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 | |
INTERACTION_MODE_MOUSE : String = mouse [static]
The user may only interact with the scroll bars to scroll. | List | ||
INTERACTION_MODE_TOUCH : String = touch [static]
The user may touch anywhere on the scroller and drag to scroll. | List | ||
INTERACTION_MODE_TOUCH_AND_SCROLL_BARS : String = touchAndScrollBars [static]
The user may touch anywhere on the scroller and drag to scroll, and
the scroll bars may be dragged separately. | List | ||
![]() | INVALIDATION_FLAG_ALL : String = all [static]
Flag to indicate that everything is invalid and should be redrawn. | FeathersControl | |
![]() | INVALIDATION_FLAG_DATA : String = data [static]
Invalidation flag to indicate that the primary data displayed by the
UI control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_FOCUS : String = focus [static]
Invalidation flag to indicate that the focus of the UI control has
changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_LAYOUT : String = layout [static]
Invalidation flag to indicate that the layout of the UI control has
changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SCROLL : String = scroll [static]
Invalidation flag to indicate that the scroll position of the UI
control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SELECTED : String = selected [static]
Invalidation flag to indicate that the selection of the UI control
has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SIZE : String = size [static]
Invalidation flag to indicate that the dimensions of the UI control
have changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_SKIN : String = skin [static]
Invalidation flag to indicate that the skin of the UI control has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_STATE : String = state [static]
Invalidation flag to indicate that the state has changed. | FeathersControl | |
![]() | INVALIDATION_FLAG_STYLES : String = styles [static]
Invalidation flag to indicate that the styles or visual appearance of
the UI control has changed. | FeathersControl | |
MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL : String = horizontal [static]
The scroller will scroll horizontally when the mouse wheel is scrolled. | List | ||
MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL : String = vertical [static]
The scroller will scroll vertically when the mouse wheel is scrolled. | List | ||
SCROLL_BAR_DISPLAY_MODE_FIXED : String = fixed [static]
The scroll bars are always visible and appear next to the scroller's
view port, making the view port smaller than the scroller. | List | ||
SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT : String = fixedFloat [static]
The scroll bars appear above the scroller's view port, overlapping
the content, but they do not fade out when not in use. | List | ||
SCROLL_BAR_DISPLAY_MODE_FLOAT : String = float [static]
The scroll bars appear above the scroller's view port, overlapping
the content, and they fade out when not in use. | List | ||
SCROLL_BAR_DISPLAY_MODE_NONE : String = none [static]
The scroll bars are never visible. | List | ||
SCROLL_POLICY_AUTO : String = auto [static]
The scroller may scroll if the view port is larger than the
scroller's bounds. | List | ||
SCROLL_POLICY_OFF : String = off [static]
The scroller does not scroll at all. | List | ||
SCROLL_POLICY_ON : String = on [static]
The scroller will always scroll. | List | ||
VERTICAL_SCROLL_BAR_POSITION_LEFT : String = left [static]
The vertical scroll bar will be positioned on the left. | List | ||
VERTICAL_SCROLL_BAR_POSITION_RIGHT : String = right [static]
The vertical scroll bar will be positioned on the right. | List |
allowMultipleSelection | property |
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
.
public function get allowMultipleSelection():Boolean
public function set allowMultipleSelection(value:Boolean):void
See also
customItemRendererStyleName | property |
customItemRendererStyleName: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
.
public function get customItemRendererStyleName():String
public function set customItemRendererStyleName(value:String):void
See also
dataProvider | property |
dataProvider:ListCollection
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 ListCollection( [ { 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 limitation 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 ListCollection
to
see how the data provider can be disposed properly.
The default value is null
.
public function get dataProvider():ListCollection
public function set dataProvider(value:ListCollection):void
See also
globalStyleProvider | property |
public static var globalStyleProvider:IStyleProvider
The default IStyleProvider
for all List
components.
The default value is null
.
See also
isChildFocusEnabled | property |
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
.
public function get isChildFocusEnabled():Boolean
public function set isChildFocusEnabled(value:Boolean):void
See also
isSelectable | property |
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
.
public function get isSelectable():Boolean
public function set isSelectable(value:Boolean):void
See also
itemRendererFactory | property |
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
.
public function get itemRendererFactory():Function
public function set itemRendererFactory(value:Function):void
See also
itemRendererName | property |
itemRendererName:String
DEPRECATED: Replaced by customItemRendererStyleName
.
DEPRECATION WARNING: This property is deprecated starting with Feathers 2.1. It will be removed in a future version of Feathers according to the standard Feathers deprecation policy.
public function get itemRendererName():String
public function set itemRendererName(value:String):void
See also
itemRendererProperties | property |
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
.
public function get itemRendererProperties():Object
public function set itemRendererProperties(value:Object):void
See also
itemRendererType | property |
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
.
public function get itemRendererType():Class
public function set itemRendererType(value:Class):void
See also
keyScrollDuration | property |
keyScrollDuration: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
.
public function get keyScrollDuration():Number
public function set keyScrollDuration(value:Number):void
layout | property |
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
.
public function get layout():ILayout
public function set layout(value:ILayout):void
pendingItemIndex | property |
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.
selectedIndex | property |
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
.
public function get selectedIndex():int
public function set selectedIndex(value:int):void
See also
selectedIndices | property |
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 );
public function get selectedIndices():Vector.<int>
public function set selectedIndices(value:Vector.<int>):void
See also
selectedItem | property |
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
.
public function get selectedItem():Object
public function set selectedItem(value:Object):void
See also
selectedItems | property |
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 );
public function get selectedItems():Vector.<Object>
public function set selectedItems(value:Vector.<Object>):void
See also
typicalItem | property |
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 }; list.itemRendererProperties.labelField = "text"; list.itemRendererProperties.iconSourceField = "thumbnail";
The default value is null
.
public function get typicalItem():Object
public function set typicalItem(value:Object):void
List | () | Constructor |
public function List()
Constructor.
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 )
|
Vector.<Object> |
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
change | Event |
starling.events.Event
starling.events.Event.CHANGE
Dispatched when the selected item changes.
The properties of the event object have the following values:
Property | Value |
---|---|
bubbles | false |
currentTarget | The 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 . |
data | null |
target | The 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. |
rendererAdd | Event |
starling.events.Event
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:
Property | Value |
---|---|
bubbles | false |
currentTarget | The 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 . |
data | The item renderer that was added. |
target | The 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. |
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 |
starling.events.Event
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:
Property | Value |
---|---|
bubbles | false |
currentTarget | The 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 . |
data | The item renderer that was removed. |
target | The 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. |
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 |
starling.events.Event
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:
Property | Value |
---|---|
bubbles | false |
currentTarget | The 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 . |
data | The item associated with the item renderer that was triggered. |
target | The 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. |
DECELERATION_RATE_FAST | Constant |
public static const DECELERATION_RATE_FAST:Number = 0.99
Decelerates a bit faster per millisecond than the default.
See also
DECELERATION_RATE_NORMAL | Constant |
public static const DECELERATION_RATE_NORMAL:Number = 0.998
The default deceleration rate per millisecond.
See also
INTERACTION_MODE_MOUSE | Constant |
public static const INTERACTION_MODE_MOUSE:String = mouse
The user may only interact with the scroll bars to scroll. The user cannot touch anywhere in the scroller's content and drag like a touch interface.
See also
INTERACTION_MODE_TOUCH | Constant |
public static const INTERACTION_MODE_TOUCH:String = touch
The user may touch anywhere on the scroller and drag to scroll. The scroll bars will be visual indicator of position, but they will not be interactive.
See also
INTERACTION_MODE_TOUCH_AND_SCROLL_BARS | Constant |
public static const INTERACTION_MODE_TOUCH_AND_SCROLL_BARS:String = touchAndScrollBars
The user may touch anywhere on the scroller and drag to scroll, and the scroll bars may be dragged separately. For most touch interfaces, this is not a common behavior. The scroll bar on touch interfaces is often simply a visual indicator and non-interactive.
One case where this mode might be used is a "scroll bar" that
displays a tappable alphabetical index to navigate a
GroupedList
with alphabetical categories.
See also
MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL | Constant |
public static const MOUSE_WHEEL_SCROLL_DIRECTION_HORIZONTAL:String = horizontal
The scroller will scroll horizontally when the mouse wheel is scrolled.
See also
MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL | Constant |
public static const MOUSE_WHEEL_SCROLL_DIRECTION_VERTICAL:String = vertical
The scroller will scroll vertically when the mouse wheel is scrolled.
See also
SCROLL_BAR_DISPLAY_MODE_FIXED | Constant |
public static const SCROLL_BAR_DISPLAY_MODE_FIXED:String = fixed
The scroll bars are always visible and appear next to the scroller's view port, making the view port smaller than the scroller.
See also
SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT | Constant |
public static const SCROLL_BAR_DISPLAY_MODE_FIXED_FLOAT:String = fixedFloat
The scroll bars appear above the scroller's view port, overlapping the content, but they do not fade out when not in use.
See also
SCROLL_BAR_DISPLAY_MODE_FLOAT | Constant |
public static const SCROLL_BAR_DISPLAY_MODE_FLOAT:String = float
The scroll bars appear above the scroller's view port, overlapping the content, and they fade out when not in use.
See also
SCROLL_BAR_DISPLAY_MODE_NONE | Constant |
public static const SCROLL_BAR_DISPLAY_MODE_NONE:String = none
The scroll bars are never visible.
See also
SCROLL_POLICY_AUTO | Constant |
public static const SCROLL_POLICY_AUTO:String = auto
The scroller may scroll if the view port is larger than the scroller's bounds. If the interaction mode is touch, the elastic edges will only be active if the maximum scroll position is greater than zero. If the scroll bar display mode is fixed, the scroll bar will only be visible when the maximum scroll position is greater than zero.
See also
SCROLL_POLICY_OFF | Constant |
public static const SCROLL_POLICY_OFF:String = off
The scroller does not scroll at all. If the scroll bar display mode is fixed or float, the scroll bar will never be visible.
See also
SCROLL_POLICY_ON | Constant |
public static const SCROLL_POLICY_ON:String = on
The scroller will always scroll. If the interaction mode is touch, elastic edges will always be active, even when the maximum scroll position is zero. If the scroll bar display mode is fixed, the scroll bar will always be visible.
See also
VERTICAL_SCROLL_BAR_POSITION_LEFT | Constant |
public static const VERTICAL_SCROLL_BAR_POSITION_LEFT:String = left
The vertical scroll bar will be positioned on the left.
See also
VERTICAL_SCROLL_BAR_POSITION_RIGHT | Constant |
public static const VERTICAL_SCROLL_BAR_POSITION_RIGHT:String = right
The vertical scroll bar will be positioned on the right.
See also