Packagefeathers.controls
Classpublic class Scroller
InheritanceScroller Inheritance FeathersControl Inheritance starling.display.Sprite
Implements IFocusDisplayObject
Subclasses DataGrid, GroupedList, List, ScrollContainer, ScrollText, TextArea, Tree

Product Version : Feathers 1.1.0

Allows horizontal and vertical scrolling of a view port. Not meant to be used as a standalone container or component. Generally meant to be the super class of another component that needs to support scrolling. To put components in a generic scrollable container (with optional layout), see ScrollContainer. To scroll long passages of text, see ScrollText.

This component is generally not instantiated directly. Instead it is typically used as a super class for other scrolling components like lists and containers. With that in mind, no code example is included here.

See also

feathers.controls.ScrollContainer


Public Properties
 PropertyDefined By
 InheritedaddedEffect : Function
An optional effect that is activated when the component is added to the stage.
FeathersControl
  bottomPullView : DisplayObject
A view that is displayed at the bottom of the scroller's view port when dragging up.
Scroller
  bottomPullViewDisplayMode : 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
 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
 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
 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
 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
  horizontalPageCount : int
[read-only] The number of horizontal pages, if snapping is enabled.
Scroller
  horizontalPageIndex : int
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
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
  isBottomPullViewActive : Boolean
Indicates if the bottomPullView has been activated.
Scroller
 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
  isLeftPullViewActive : Boolean
Indicates if the leftPullView has been activated.
Scroller
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
  isRightPullViewActive : Boolean
Indicates if the rightPullView has been activated.
Scroller
  isScrolling : Boolean
[read-only] Determines if the scroller is currently scrolling with user interaction or with animation.
Scroller
 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
  isTopPullViewActive : Boolean
Indicates if the topPullView has been activated.
Scroller
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
  leftPullView : DisplayObject
A view that is displayed to the left of the scroller's view port when dragging to the right.
Scroller
  leftPullViewDisplayMode : 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
 InheritedmaxHeight : 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
 InheritedmaxWidth : 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
 InheritedminHeight : 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
 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
  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
 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
 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
  pageHeight : Number
When set, the vertical pages snap to this height value instead of the height of the scroller.
Scroller
  pageWidth : Number
When set, the horizontal pages snap to this width value instead of the width of the scroller.
Scroller
 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
 InheritedresizeEffect : Function
An optional effect that is activated when the component is resized with new dimensions.
FeathersControl
  rightPullView : DisplayObject
A view that is displayed to the right of the scroller's view port when dragging to the left.
Scroller
  rightPullViewDisplayMode : 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
 InheritedshowEffect : Function
An optional effect that is activated when the component is shown.
FeathersControl
 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
  topPullView : DisplayObject
A view that is displayed at the top of the scroller's view port when dragging down.
Scroller
  topPullViewDisplayMode : 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
  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
The index of the vertical page, if snapping is enabled.
Scroller
  verticalScrollBarFactory : Function
Creates the vertical scroll bar.
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
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
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
  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
  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
  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
  verticalScrollBarStyleName : String = "feathers-scroller-vertical-scroll-bar"
The value added to the styleNameList of the vertical scroll bar.
Scroller
Public Methods
 MethodDefined By
  
Constructor.
Scroller
 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
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
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
 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
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent.
FeathersControl
 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
  
If the scroll bars are floating, briefly show them as a hint to the user.
Scroller
  
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
 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
  
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
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
  
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
  
Prepares the scroller for normal interaction and dispatches FeathersEventType.SCROLL_COMPLETE.
Scroller
  
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
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
  
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
  
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
  
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
  
If scrolling hasn't already started, prepares the scroller to scroll and dispatches FeathersEventType.SCROLL_START.
Scroller
  
throwTo(targetHorizontalScrollPosition:Number, targetVerticalScrollPosition:Number, duration:Number = 0.5):void
Immediately throws the scroller to the specified position, with optional animation.
Scroller
  
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
  Dispatched when the user starts dragging the scroller when ScrollInteractionMode.TOUCH is enabled or when the user starts interacting with the scroll bar.Scroller
 InheritedDispatched after the component has validated for the first time.FeathersControl
  Dispatched when the user stops dragging the scroller when ScrollInteractionMode.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
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
 InheritedDispatched 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 a pull view is activated.Scroller
Styles
 StyleDefined By
  
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
  
A style name to add to the container's horizontal scroll bar sub-component.
Scroller
  
A style name to add to the container's vertical scroll bar sub-component.
Scroller
  
This value is used to decelerate the scroller when "thrown".
Scroller
  
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
  
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
 Inherited
focusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 Inherited
focusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 Inherited
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
  
hasElasticEdges : Boolean
Determines if the scrolling can go beyond the edges of the viewport.
Scroller
  
The duration, in seconds, of the animation when a scroll bar fades out.
Scroller
  
The easing function used for hiding the scroll bars, if applicable.
Scroller
  
Determines where the horizontal scroll bar will be positioned.
Scroller
  
Determines how the user may interact with the scroller.
Scroller
  
The duration, in seconds, of the animation when the mouse wheel initiates a scroll action.
Scroller
  
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
  
The duration, in seconds, of the animation when the scroller is thrown to a page.
Scroller
  
The duration, in seconds, that the scroll bars will be shown when calling revealScrollBars().
Scroller
  
Determines how the scroll bars are displayed.
Scroller
  
If enabled, the scroll position will always be adjusted to the nearest pixel on the physical screen.
Scroller
  
snapToPages : Boolean
Determines if scrolling will snap to the nearest page.
Scroller
  
throwEase : Object
The easing function used for "throw" animations.
Scroller
  
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
  
If true, the duration of a "throw" animation will be the same no matter the value of the throw's initial velocity.
Scroller
  
Determines where the vertical scroll bar will be positioned.
Scroller
Public Constants
 ConstantDefined By
  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
 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
  INVALIDATION_FLAG_CLIPPING : String = "clipping"
[static] Flag to indicate that the clipping has changed.
Scroller
Property Detail
bottomPullViewproperty
bottomPullView:DisplayObject

A view that is displayed at the bottom of the scroller's view port when dragging up. Events

The scroller will dispatch FeathersEventType.PULLING on the pull view as it is dragged into view. The event's data property will be a value between 0 and 1 to indicate how far the pull view has been dragged so far. A value of 1 does not necessarily indicate that the pull view has been activated yet. A value greater than 1 is possible if hasElasticEdges is true.

When the pull view is activated by the user, the scroller will dispatch Event.UPDATE. When the pull view should be deactivated, set the isBottomPullViewActive property to false.

The default value is null.


Implementation
    public function get bottomPullView():DisplayObject
    public function set bottomPullView(value:DisplayObject):void

See also

bottomPullViewDisplayModeproperty 
bottomPullViewDisplayMode: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.

The default value is feathers.controls.PullViewDisplayMode.DRAG.


Implementation
    public function get bottomPullViewDisplayMode():String
    public function set bottomPullViewDisplayMode(value:String):void

See also

hasPendingHorizontalPageIndexproperty 
protected var hasPendingHorizontalPageIndex:Boolean = false

A flag that indicates if the scroller should scroll to a new page when it validates. If true, it will use the value of pendingHorizontalPageIndex as the target page index.

See also

hasPendingVerticalPageIndexproperty 
protected var hasPendingVerticalPageIndex:Boolean = false

A flag that indicates if the scroller should scroll to a new page when it validates. If true, it will use the value of pendingVerticalPageIndex as the target page index.

See also

horizontalPageCountproperty 
horizontalPageCount:int  [read-only]

The number of horizontal pages, if snapping is enabled. If snapping is disabled, the page count will always be 1.

If the scroller's view port supports infinite scrolling, this property will return int.MAX_VALUE, since an int cannot hold the value Number.POSITIVE_INFINITY.


Implementation
    public function get horizontalPageCount():int

See also

horizontalPageIndexproperty 
horizontalPageIndex:int

The index of the horizontal page, if snapping is enabled. If snapping is disabled, the index will always be 0.


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

See also

horizontalScrollBarproperty 
protected var horizontalScrollBar:IScrollBar

The horizontal scrollbar instance. May be null.

For internal use in subclasses.

See also

horizontalScrollBarFactoryproperty 
horizontalScrollBarFactory:Function

Creates the horizontal scroll bar. The horizontal scroll bar must be an instance of IScrollBar. This factory can be used to change properties on the horizontal scroll bar when it is first created. For instance, if you are skinning Feathers components without a theme, you might use this factory to set skins and other styles on the horizontal scroll bar.

This function is expected to have the following signature:

function():IScrollBar

In the following example, a custom horizontal scroll bar factory is passed to the scroller:

scroller.horizontalScrollBarFactory = function():IScrollBar
{
    return new ScrollBar();
};

The default value is null.


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

See also

horizontalScrollBarPropertiesproperty 
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. The available properties depend on which IScrollBar implementation is returned by horizontalScrollBarFactory. Refer to feathers.controls.IScrollBar for a list of available scroll bar implementations.

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 horizontalScrollBarFactory function instead of using horizontalScrollBarProperties will result in better performance.

In the following example, properties for the horizontal scroll bar are passed to the scroller:

scroller.horizontalScrollBarProperties.liveDragging = false;

The default value is null.


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

See also

horizontalScrollBarStyleNameproperty 
protected var horizontalScrollBarStyleName:String = "feathers-scroller-horizontal-scroll-bar"

The value added to the styleNameList of the horizontal scroll bar. This variable is protected so that sub-classes can customize the horizontal scroll bar style name in their constructors instead of using the default style name defined by DEFAULT_CHILD_STYLE_NAME_HORIZONTAL_SCROLL_BAR.

To customize the horizontal scroll bar style name without subclassing, see customHorizontalScrollBarStyleName.

See also

horizontalScrollPolicyproperty 
horizontalScrollPolicy:String

Determines whether the scroller may scroll horizontally (on the x-axis) or not.

In the following example, horizontal scrolling is disabled:

scroller.horizontalScrollPolicy = ScrollPolicy.OFF;

The default value is feathers.controls.ScrollPolicy.AUTO.


Implementation
    public function get horizontalScrollPolicy():String
    public function set horizontalScrollPolicy(value:String):void

See also

horizontalScrollPositionproperty 
horizontalScrollPosition:Number

The number of pixels the container has been scrolled horizontally (on the x-axis).

In the following example, the horizontal scroll position is customized:

scroller.horizontalScrollPosition = scroller.maxHorizontalScrollPosition;


Implementation
    public function get horizontalScrollPosition():Number
    public function set horizontalScrollPosition(value:Number):void

See also

horizontalScrollStepproperty 
horizontalScrollStep:Number

The number of pixels the horizontal scroll position can be adjusted by a "step". Passed to the horizontal scroll bar, if one exists. Touch scrolling is not affected by the step value.

In the following example, the horizontal scroll step is customized:

scroller.horizontalScrollStep = 0;

The default value is NaN.


Implementation
    public function get horizontalScrollStep():Number
    public function set horizontalScrollStep(value:Number):void
isBottomPullViewActiveproperty 
isBottomPullViewActive:Boolean

Indicates if the bottomPullView has been activated. Set to false to close the bottomPullView.

Note: Manually setting isBottomPullViewActive to true will not result in Event.UPDATE being dispatched.


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

See also

isLeftPullViewActiveproperty 
isLeftPullViewActive:Boolean

Indicates if the leftPullView has been activated. Set to false to close the leftPullView.

Note: Manually setting isLeftpPullViewActive to true will not result in Event.UPDATE being dispatched.


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

See also

isRightPullViewActiveproperty 
isRightPullViewActive:Boolean

Indicates if the rightPullView has been activated. Set to false to close the rightPullView.

Note: Manually setting isRightPullViewActive to true will not result in Event.UPDATE being dispatched.


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

See also

isScrollingproperty 
isScrolling:Boolean  [read-only]

Determines if the scroller is currently scrolling with user interaction or with animation.


Implementation
    public function get isScrolling():Boolean
isTopPullViewActiveproperty 
isTopPullViewActive:Boolean

Indicates if the topPullView has been activated. Set to false to close the topPullView.

Note: Manually setting isTopPullViewActive to true will not result in Event.UPDATE being dispatched.


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

See also

leftPullViewproperty 
leftPullView:DisplayObject

A view that is displayed to the left of the scroller's view port when dragging to the right. Events

The scroller will dispatch FeathersEventType.PULLING on the pull view as it is dragged into view. The event's data property will be a value between 0 and 1 to indicate how far the pull view has been dragged so far. A value of 1 does not necessarily indicate that the pull view has been activated yet. A value greater than 1 is possible if hasElasticEdges is true.

When the pull view is activated by the user, the scroller will dispatch Event.UPDATE. When the pull view should be deactivated, set the isLeftPullViewActive property to false.

The default value is null.


Implementation
    public function get leftPullView():DisplayObject
    public function set leftPullView(value:DisplayObject):void

See also

leftPullViewDisplayModeproperty 
leftPullViewDisplayMode: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.

The default value is feathers.controls.PullViewDisplayMode.DRAG.


Implementation
    public function get leftPullViewDisplayMode():String
    public function set leftPullViewDisplayMode(value:String):void

See also

maxHorizontalPageIndexproperty 
maxHorizontalPageIndex:int  [read-only]

The maximum horizontal page index that may be displayed by this container, if page snapping is enabled.


Implementation
    public function get maxHorizontalPageIndex():int

See also

maxHorizontalScrollPositionproperty 
maxHorizontalScrollPosition:Number  [read-only]

The number of pixels the scroller may be scrolled horizontally to the right. This value is automatically calculated based on the bounds of the viewport. The horizontalScrollPosition property may have a higher value than the maximum due to elastic edges. However, once the user stops interacting with the scroller, it will automatically animate back to the maximum or minimum position.


Implementation
    public function get maxHorizontalScrollPosition():Number

See also

maxVerticalPageIndexproperty 
maxVerticalPageIndex:int  [read-only]

The maximum vertical page index that may be displayed by this container, if page snapping is enabled.


Implementation
    public function get maxVerticalPageIndex():int

See also

maxVerticalScrollPositionproperty 
maxVerticalScrollPosition:Number  [read-only]

The number of pixels the scroller may be scrolled vertically beyond the bottom edge. This value is automatically calculated based on the bounds of the viewport. The verticalScrollPosition property may have a lower value than the minimum due to elastic edges. However, once the user stops interacting with the scroller, it will automatically animate back to the maximum or minimum position.


Implementation
    public function get maxVerticalScrollPosition():Number

See also

measureViewPortproperty 
measureViewPort:Boolean

Determines if the dimensions of the view port are used when measuring the scroller. If disabled, only children other than the view port (such as the background skin) are used for measurement.

In the following example, the view port measurement is disabled:

scroller.measureViewPort = false;

The default value is true.


Implementation
    public function get measureViewPort():Boolean
    public function set measureViewPort(value:Boolean):void
minHorizontalPageIndexproperty 
minHorizontalPageIndex:int  [read-only]

The minimum horizontal page index that may be displayed by this container, if page snapping is enabled.


Implementation
    public function get minHorizontalPageIndex():int

See also

minHorizontalScrollPositionproperty 
minHorizontalScrollPosition:Number  [read-only]

The number of pixels the scroller may be scrolled horizontally to the left. This value is automatically calculated based on the bounds of the viewport. The horizontalScrollPosition property may have a lower value than the minimum due to elastic edges. However, once the user stops interacting with the scroller, it will automatically animate back to the maximum or minimum position.


Implementation
    public function get minHorizontalScrollPosition():Number

See also

minimumDragDistanceproperty 
minimumDragDistance:Number

The minimum physical distance (in inches) that a touch must move before the scroller starts scrolling.

In the following example, the minimum drag distance is customized:

scroller.minimumDragDistance = 0.1;

The default value is 0.04.


Implementation
    public function get minimumDragDistance():Number
    public function set minimumDragDistance(value:Number):void
minimumPageThrowVelocityproperty 
minimumPageThrowVelocity:Number

The minimum physical velocity (in inches per second) that a touch must move before the scroller will "throw" to the next page. Otherwise, it will settle to the nearest page.

In the following example, the minimum page throw velocity is customized:

scroller.minimumPageThrowVelocity = 2;

The default value is 5.


Implementation
    public function get minimumPageThrowVelocity():Number
    public function set minimumPageThrowVelocity(value:Number):void
minVerticalPageIndexproperty 
minVerticalPageIndex:int  [read-only]

The minimum vertical page index that may be displayed by this container, if page snapping is enabled.


Implementation
    public function get minVerticalPageIndex():int

See also

minVerticalScrollPositionproperty 
minVerticalScrollPosition:Number  [read-only]

The number of pixels the scroller may be scrolled vertically beyond the top edge. This value is automatically calculated based on the bounds of the viewport. The verticalScrollPosition property may have a lower value than the minimum due to elastic edges. However, once the user stops interacting with the scroller, it will automatically animate back to the maximum or minimum position.


Implementation
    public function get minVerticalScrollPosition():Number

See also

pageHeightproperty 
pageHeight:Number

When set, the vertical pages snap to this height value instead of the height of the scroller.

In the following example, the page height is set to 200 pixels:

scroller.pageHeight = 200;


Implementation
    public function get pageHeight():Number
    public function set pageHeight(value:Number):void

See also

pageWidthproperty 
pageWidth:Number

When set, the horizontal pages snap to this width value instead of the width of the scroller.

In the following example, the page width is set to 200 pixels:

scroller.pageWidth = 200;


Implementation
    public function get pageWidth():Number
    public function set pageWidth(value:Number):void

See also

pendingHorizontalPageIndexproperty 
protected var pendingHorizontalPageIndex:int

The pending horizontal page index to scroll to after validating. The flag hasPendingHorizontalPageIndex must be set to true if there is a pending page index to scroll to.

See also

pendingHorizontalScrollPositionproperty 
protected var pendingHorizontalScrollPosition:Number = NaN

The pending horizontal scroll position to scroll to after validating. A value of NaN means that the scroller won't scroll to a horizontal position after validating.

pendingScrollDurationproperty 
protected var pendingScrollDuration:Number

The duration of the pending scroll action.

pendingVerticalPageIndexproperty 
protected var pendingVerticalPageIndex:int

The pending vertical page index to scroll to after validating. The flag hasPendingVerticalPageIndex must be set to true if there is a pending page index to scroll to.

See also

pendingVerticalScrollPositionproperty 
protected var pendingVerticalScrollPosition:Number = NaN

The pending vertical scroll position to scroll to after validating. A value of NaN means that the scroller won't scroll to a vertical position after validating.

rightPullViewproperty 
rightPullView:DisplayObject

A view that is displayed to the right of the scroller's view port when dragging to the left. Events

The scroller will dispatch FeathersEventType.PULLING on the pull view as it is dragged into view. The event's data property will be a value between 0 and 1 to indicate how far the pull view has been dragged so far. A value of 1 does not necessarily indicate that the pull view has been activated yet. A value greater than 1 is possible if hasElasticEdges is true.

When the pull view is activated by the user, the scroller will dispatch Event.UPDATE. When the pull view should be deactivated, set the isRightPullViewActive property to false.

The default value is null.


Implementation
    public function get rightPullView():DisplayObject
    public function set rightPullView(value:DisplayObject):void

See also

rightPullViewDisplayModeproperty 
rightPullViewDisplayMode: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.

The default value is feathers.controls.PullViewDisplayMode.DRAG.


Implementation
    public function get rightPullViewDisplayMode():String
    public function set rightPullViewDisplayMode(value:String):void

See also

topPullViewproperty 
topPullView:DisplayObject

A view that is displayed at the top of the scroller's view port when dragging down. Events

The scroller will dispatch FeathersEventType.PULLING on the pull view as it is dragged into view. The event's data property will be a value between 0 and 1 to indicate how far the pull view has been dragged so far. A value of 1 does not necessarily indicate that the pull view has been activated yet. A value greater than 1 is possible if hasElasticEdges is true.

When the pull view is activated by the user, the scroller will dispatch Event.UPDATE. When the pull view should be deactivated, set the isTopPullViewActive property to false.

The default value is null.


Implementation
    public function get topPullView():DisplayObject
    public function set topPullView(value:DisplayObject):void

See also

topPullViewDisplayModeproperty 
topPullViewDisplayMode: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.

The default value is feathers.controls.PullViewDisplayMode.DRAG.


Implementation
    public function get topPullViewDisplayMode():String
    public function set topPullViewDisplayMode(value:String):void

See also

verticalMouseWheelScrollDirectionproperty 
verticalMouseWheelScrollDirection:String

The direction of scrolling when the user scrolls the mouse wheel vertically. In some cases, it is common for a container that only scrolls horizontally to scroll even when the mouse wheel is scrolled vertically.

In the following example, the direction of scrolling when using the mouse wheel is changed:

scroller.verticalMouseWheelScrollDirection = Direction.HORIZONTAL;

The default value is feathers.layout.Direction.VERTICAL.


Implementation
    public function get verticalMouseWheelScrollDirection():String
    public function set verticalMouseWheelScrollDirection(value:String):void

See also

verticalMouseWheelScrollStepproperty 
verticalMouseWheelScrollStep:Number

The number of pixels the vertical scroll position can be adjusted by a "step" when using the mouse wheel. If this value is NaN, the mouse wheel will use the same scroll step as the scroll bars.

In the following example, the vertical mouse wheel scroll step is customized:

scroller.verticalMouseWheelScrollStep = 10;

The default value is NaN.


Implementation
    public function get verticalMouseWheelScrollStep():Number
    public function set verticalMouseWheelScrollStep(value:Number):void
verticalPageCountproperty 
verticalPageCount:int  [read-only]

The number of vertical pages, if snapping is enabled. If snapping is disabled, the page count will always be 1.

If the scroller's view port supports infinite scrolling, this property will return int.MAX_VALUE, since an int cannot hold the value Number.POSITIVE_INFINITY.


Implementation
    public function get verticalPageCount():int

See also

verticalPageIndexproperty 
verticalPageIndex:int

The index of the vertical page, if snapping is enabled. If snapping is disabled, the index will always be 0.


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

See also

verticalScrollBarproperty 
protected var verticalScrollBar:IScrollBar

The vertical scrollbar instance. May be null.

For internal use in subclasses.

See also

verticalScrollBarFactoryproperty 
verticalScrollBarFactory:Function

Creates the vertical scroll bar. The vertical scroll bar must be an instance of Button. This factory can be used to change properties on the vertical scroll bar when it is first created. For instance, if you are skinning Feathers components without a theme, you might use this factory to set skins and other styles on the vertical scroll bar.

This function is expected to have the following signature:

function():IScrollBar

In the following example, a custom vertical scroll bar factory is passed to the scroller:

scroller.verticalScrollBarFactory = function():IScrollBar
{
    return new ScrollBar();
};

The default value is null.


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

See also

verticalScrollBarPropertiesproperty 
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. The available properties depend on which IScrollBar implementation is returned by verticalScrollBarFactory. Refer to feathers.controls.IScrollBar for a list of available scroll bar implementations.

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 verticalScrollBarFactory function instead of using verticalScrollBarProperties will result in better performance.

In the following example, properties for the vertical scroll bar are passed to the container:

scroller.verticalScrollBarProperties.liveDragging = false;

The default value is null.


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

See also

verticalScrollBarStyleNameproperty 
protected var verticalScrollBarStyleName:String = "feathers-scroller-vertical-scroll-bar"

The value added to the styleNameList of the vertical scroll bar. This variable is protected so that sub-classes can customize the vertical scroll bar style name in their constructors instead of using the default style name defined by DEFAULT_CHILD_STYLE_NAME_VERTICAL_SCROLL_BAR.

To customize the vertical scroll bar style name without subclassing, see customVerticalScrollBarStyleName.

See also

verticalScrollPolicyproperty 
verticalScrollPolicy:String

Determines whether the scroller may scroll vertically (on the y-axis) or not.

In the following example, vertical scrolling is disabled:

scroller.verticalScrollPolicy = ScrollPolicy.OFF;

The default value is feathers.controls.ScrollPolicy.AUTO.


Implementation
    public function get verticalScrollPolicy():String
    public function set verticalScrollPolicy(value:String):void

See also

verticalScrollPositionproperty 
verticalScrollPosition:Number

The number of pixels the container has been scrolled vertically (on the y-axis).

In the following example, the vertical scroll position is customized:

scroller.verticalScrollPosition = scroller.maxVerticalScrollPosition;


Implementation
    public function get verticalScrollPosition():Number
    public function set verticalScrollPosition(value:Number):void

See also

verticalScrollStepproperty 
verticalScrollStep:Number

The number of pixels the vertical scroll position can be adjusted by a "step". Passed to the vertical scroll bar, if one exists. Touch scrolling is not affected by the step value.

In the following example, the vertical scroll step is customized:

scroller.verticalScrollStep = 0;

The default value is NaN.


Implementation
    public function get verticalScrollStep():Number
    public function set verticalScrollStep(value:Number):void
viewPortproperty 
viewPort:IViewPort

The display object displayed and scrolled within the Scroller.

The default value is null.


Implementation
    public function get viewPort():IViewPort
    public function set viewPort(value:IViewPort):void
Constructor Detail
Scroller()Constructor
public function Scroller()

Constructor.

Method Detail
autoSizeIfNeeded()method
protected function autoSizeIfNeeded():Boolean

If the component's dimensions have not been set explicitly, it will measure its content and determine an ideal size for itself. If the explicitWidth or explicitHeight member variables are set, those value will be used without additional measurement. If one is set, but not the other, the dimension with the explicit value will not be measured, but the other non-explicit dimension will still need measurement.

Calls saveMeasurements() to set up the actualWidth and actualHeight member variables used for layout.

Meant for internal use, and subclasses may override this function with a custom implementation.

Returns
Boolean
completeScroll()method 
protected function completeScroll():void

Prepares the scroller for normal interaction and dispatches FeathersEventType.SCROLL_COMPLETE.

createScrollBars()method 
protected function createScrollBars():void

Creates and adds the horizontalScrollBar and verticalScrollBar sub-components and removes the old instances, if they exist.

Meant for internal use, and subclasses may override this function with a custom implementation.

See also

handlePendingScroll()method 
protected function handlePendingScroll():void

Scrolls to a pending scroll position, if required.

layoutChildren()method 
protected function layoutChildren():void

Positions and sizes children based on the actual width and height values.

refreshBackgroundSkin()method 
protected function refreshBackgroundSkin():void

Choose the appropriate background skin based on the control's current state.

revealScrollBars()method 
public function revealScrollBars():void

If the scroll bars are floating, briefly show them as a hint to the user. Useful when first navigating to a screen to give the user context about both the ability to scroll and the current scroll position.

See also

scrollToPageIndex()method 
public function scrollToPageIndex(horizontalPageIndex:int, verticalPageIndex:int, animationDuration:Number):void

After the next validation, animates the scroll position to a specific page index. To scroll in only one direction, pass in the value of the horizontalPageIndex or the verticalPageIndex property to the appropriate parameter. If the animationDuration argument is NaN (the default value) the value of the pageThrowDuration property is used for the duration. The duration is in seconds.

You can only scroll to a page if the snapToPages property is true.

In the following example, we scroll to the last horizontal page:

scroller.scrollToPageIndex( scroller.horizontalPageCount - 1, scroller.verticalPageIndex );

Parameters

horizontalPageIndex:int
 
verticalPageIndex:int
 
animationDuration:Number (default = NaN)

See also

scrollToPosition()method 
public function scrollToPosition(horizontalScrollPosition:Number, verticalScrollPosition:Number, animationDuration:Number):void

After the next validation, animates the scroll positions to a specific location. May scroll in only one direction by passing in a value of NaN for either scroll position. If the animationDuration argument is NaN (the default value), the duration of a standard throw is used. The duration is in seconds.

Because this function is primarily designed for animation, using a duration of 0 may require a frame or two before the scroll position updates.

In the following example, we scroll to the maximum vertical scroll position:

scroller.scrollToPosition( scroller.horizontalScrollPosition, scroller.maxVerticalScrollPosition );

Parameters

horizontalScrollPosition:Number
 
verticalScrollPosition:Number
 
animationDuration:Number (default = NaN)

See also

startScroll()method 
protected function startScroll():void

If scrolling hasn't already started, prepares the scroller to scroll and dispatches FeathersEventType.SCROLL_START.

stopScrolling()method 
public function 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. This function may only be called during scrolling, so if you need to stop scrolling on a TouchEvent with TouchPhase.BEGAN, you may need to wait for the scroller to start scrolling before you can call this function.

In the following example, we listen for FeathersEventType.SCROLL_START to stop scrolling:

scroller.addEventListener( FeathersEventType.SCROLL_START, function( event:Event ):void
{
    scroller.stopScrolling();
});

throwTo()method 
protected function throwTo(targetHorizontalScrollPosition:Number, targetVerticalScrollPosition:Number, duration:Number = 0.5):void

Immediately throws the scroller to the specified position, with optional animation. If you want to throw in only one direction, pass in NaN for the value that you do not want to change. The scroller should be validated before throwing.

Parameters

targetHorizontalScrollPosition:Number (default = NaN)
 
targetVerticalScrollPosition:Number (default = NaN)
 
duration:Number (default = 0.5)

See also

throwToPage()method 
protected function throwToPage(targetHorizontalPageIndex:int, targetVerticalPageIndex:int, duration:Number = 0.5):void

Immediately throws the scroller to the specified page index, with optional animation. If you want to throw in only one direction, pass in the value from the horizontalPageIndex or verticalPageIndex property to the appropriate parameter. The scroller must be validated before throwing, to ensure that the minimum and maximum scroll positions are accurate.

Parameters

targetHorizontalPageIndex:int
 
targetVerticalPageIndex:int
 
duration:Number (default = 0.5)

See also

Event Detail
beginInteraction Event
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.BEGIN_INTERACTION

Dispatched when the user starts dragging the scroller when ScrollInteractionMode.TOUCH is enabled or when the user starts interacting with the scroll bar.

Note: If horizontalScrollPosition or verticalScrollPosition is set manually (in other words, the scrolling is not triggered by user interaction), no FeathersEventType.BEGIN_INTERACTION or FeathersEventType.END_INTERACTION events will be dispatched.

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.

The FeathersEventType.BEGIN_INTERACTION event type is used by many UI controls where a drag or other interaction happens over time. An example is a Slider control where the user touches the thumb to begin dragging.

See also

endInteraction Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.END_INTERACTION

Dispatched when the user stops dragging the scroller when ScrollInteractionMode.TOUCH is enabled or when the user stops interacting with the scroll bar. The scroller may continue scrolling after this event is dispatched if the user interaction has also triggered an animation.

Note: If horizontalScrollPosition or verticalScrollPosition is set manually (in other words, the scrolling is not triggered by user interaction), no FeathersEventType.BEGIN_INTERACTION or FeathersEventType.END_INTERACTION events will be dispatched.

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.

The FeathersEventType.END_INTERACTION event type is used by many UI controls where a drag or other interaction happens over time. An example is a Slider control where the user stops touching the thumb after dragging.

Depending on the control, the result of the interaction may continue after the interaction ends. For instance, a Scroller may be "thrown", and the scrolling will continue animating after the user has finished interacting with it.

See also

focusIn Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.FOCUS_IN

Dispatched when the component receives focus.

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.

The FeathersEventType.FOCUS_IN event type is used by Feathers components to indicate when they have received focus.
focusOut Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.FOCUS_OUT

Dispatched when the component loses focus.

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.

The FeathersEventType.FOCUS_OUT event type is used by Feathers components to indicate when they have lost focus.
scroll Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.SCROLL

Dispatched when the scroller scrolls in either direction or when the view port's scrolling bounds have changed. Listen for FeathersEventType.SCROLL_START to know when scrolling starts as a result of user interaction or when scrolling is triggered by an animation. Similarly, listen for FeathersEventType.SCROLL_COMPLETE to know when the scrolling ends.

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.

See also

scrollComplete Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.SCROLL_COMPLETE

Dispatched when the scroller finishes scrolling in either direction as a result of either user interaction or animation. Animations may not end at the same time that user interaction ends, so the event may be delayed if user interaction triggers scrolling again.

Note: If horizontalScrollPosition or verticalScrollPosition is set manually (in other words, the scrolling is not triggered by user interaction or an animated scroll), no FeathersEventType.SCROLL_START or FeathersEventType.SCROLL_COMPLETE events will be dispatched.

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.

The FeathersEventType.SCROLL_COMPLETE event type is used when a control finishes scrolling in either direction as a result of either user interaction or animation.

See also

scrollStart Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.FeathersEventType.SCROLL_START

Dispatched when the scroller starts scrolling in either direction as a result of either user interaction or animation.

Note: If horizontalScrollPosition or verticalScrollPosition is set manually (in other words, the scrolling is not triggered by user interaction or an animated scroll), no FeathersEventType.SCROLL_START or FeathersEventType.SCROLL_COMPLETE events will be dispatched.

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.

The FeathersEventType.SCROLL_START event type is used when a control starts scrolling in either direction as a result of either user interaction or animation.

See also

update Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.UPDATE

Dispatched when a pull view is activated.

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 pull view that was activated.
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.

Style Detail
verticalScrollBarPositionstyle
verticalScrollBarPosition:String

Determines where the vertical scroll bar will be positioned.

In the following example, the scroll bars is positioned on the left:

scroller.verticalScrollBarPosition = RelativePosition.LEFT;

The default value is feathers.layout.RelativePosition.RIGHT.

See also

useFixedThrowDurationstyle 
useFixedThrowDuration:Boolean

If true, the duration of a "throw" animation will be the same no matter the value of the throw's initial velocity. This value may be set to false to have the scroller calculate a variable duration based on the velocity of the throw.

It may seem unintuitive, but using the same fixed duration for any velocity is recommended if you are looking to closely match the behavior of native scrolling on iOS.

In the following example, the behavior of a "throw" animation is changed:

scroller.useFixedThrowDuration = false;

The default value is true.

See also

throwElasticitystyle 
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. A value of 0 means that the scroller will not go beyond its minimum or maximum bounds. A value of 1 means that going beyond the minimum or maximum bounds is completely unrestrained.

In the following example, the elasticity of throwing beyond the scroller's edges is customized:

scroller.throwElasticity = 0.1;

The default value is 0.05.

See also

throwEasestyle 
throwEase:Object

The easing function used for "throw" animations.

In the following example, the ease of throwing animations is customized:

scroller.throwEase = Transitions.EASE_IN_OUT;

See also

snapToPagesstyle 
snapToPages:Boolean

Determines if scrolling will snap to the nearest page.

In the following example, the scroller snaps to the nearest page:

scroller.snapToPages = true;

The default value is false.

snapScrollPositionsToPixelsstyle 
snapScrollPositionsToPixels:Boolean

If enabled, the scroll position will always be adjusted to the nearest pixel on the physical screen. Depending on the value of Starling's contentScaleFactor, this may or may not result in an integer value for the scroll position.

In the following example, the scroll position is not snapped to pixels:

scroller.snapScrollPositionsToPixels = false;

The default value is true.

scrollBarDisplayModestyle 
scrollBarDisplayMode:String

Determines how the scroll bars are displayed.

In the following example, the scroll bars are fixed:

scroller.scrollBarDisplayMode = ScrollBarDisplayMode.FIXED;

The default value is feathers.controls.ScrollBarDisplayMode.FLOAT.

See also

revealScrollBarsDurationstyle 
revealScrollBarsDuration:Number

The duration, in seconds, that the scroll bars will be shown when calling revealScrollBars()

The default value is 1.0.

See also

pageThrowDurationstyle 
pageThrowDuration:Number

The duration, in seconds, of the animation when the scroller is thrown to a page.

In the following example, the duration of the animation that changes the page when thrown is set to 250 milliseconds:

scroller.pageThrowDuration = 0.25;

The default value is 0.5.

paddingLeftstyle 
paddingLeft:Number

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

In the following example, the left padding is set to 20 pixels:

scroller.paddingLeft = 20;

The default value is 0.

See also

paddingBottomstyle 
paddingBottom:Number

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

In the following example, the bottom padding is set to 20 pixels:

scroller.paddingBottom = 20;

The default value is 0.

See also

paddingRightstyle 
paddingRight:Number

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

In the following example, the right padding is set to 20 pixels:

scroller.paddingRight = 20;

The default value is 0.

See also

paddingTopstyle 
paddingTop:Number

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

In the following example, the top padding is set to 20 pixels:

scroller.paddingTop = 20;

The default value is 0.

See also

paddingstyle 
padding:Number

Quickly sets all padding properties to the same value. The padding getter always returns the value of paddingTop, but the other padding values may be different.

In the following example, the padding is set to 20 pixels:

scroller.padding = 20;

The default value is 0.

See also

mouseWheelScrollDurationstyle 
mouseWheelScrollDuration:Number

The duration, in seconds, of the animation when the mouse wheel initiates a scroll action.

In the following example, the duration of the animation that runs when the mouse wheel is scrolled is set to 500 milliseconds:

scroller.mouseWheelScrollDuration = 0.5;

The default value is 0.35.

interactionModestyle 
interactionMode:String

Determines how the user may interact with the scroller.

In the following example, the interaction mode is optimized for mouse:

scroller.interactionMode = ScrollInteractionMode.MOUSE;

The default value is feathers.controls.ScrollInteractionMode.TOUCH.

See also

horizontalScrollBarPositionstyle 
horizontalScrollBarPosition:String

Determines where the horizontal scroll bar will be positioned.

In the following example, the scroll bars is positioned on the top:

scroller.horizontalScrollBarPosition = RelativePosition.TOP;

The default value is feathers.layout.RelativePosition.BOTTOM.

See also

hideScrollBarAnimationEasestyle 
hideScrollBarAnimationEase:Object

The easing function used for hiding the scroll bars, if applicable.

In the following example, the ease of the animation that hides the scroll bars is customized:

scroller.hideScrollBarAnimationEase = Transitions.EASE_IN_OUT;

The default value is starling.animation.Transitions.EASE_OUT.

See also

hideScrollBarAnimationDurationstyle 
hideScrollBarAnimationDuration:Number

The duration, in seconds, of the animation when a scroll bar fades out.

In the following example, the duration of the animation that hides the scroll bars is set to 500 milliseconds:

scroller.hideScrollBarAnimationDuration = 0.5;

The default value is 0.2.

See also

hasElasticEdgesstyle 
hasElasticEdges:Boolean

Determines if the scrolling can go beyond the edges of the viewport.

In the following example, elastic edges are disabled:

scroller.hasElasticEdges = false;

The default value is true.

See also

elasticSnapDurationstyle 
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.

In the following example, the duration of the animation that snaps the content back after pulling it beyond the edge is set to 750 milliseconds:

scroller.elasticSnapDuration = 0.75;

The default value is 0.5.

See also

elasticitystyle 
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. A value of 0 means that the scroller will not go beyond its minimum or maximum bounds. A value of 1 means that going beyond the minimum or maximum bounds is completely unrestrained.

In the following example, the elasticity of dragging beyond the scroller's edges is customized:

scroller.elasticity = 0.5;

The default value is 0.33.

See also

decelerationRatestyle 
decelerationRate:Number

This value is used to decelerate the scroller when "thrown". The velocity of a throw is multiplied by this value once per millisecond to decelerate. A value greater than 0 and less than 1 is expected.

In the following example, deceleration rate is lowered to adjust the behavior of a throw:

scroller.decelerationRate = DecelerationRate.FAST;

The default value is feathers.controls.DecelerationRate.NORMAL.

See also

customVerticalScrollBarStyleNamestyle 
customVerticalScrollBarStyleName:String

A style name to add to the container's vertical scroll bar sub-component. Typically used by a theme to provide different styles to different containers.

In the following example, a custom vertical scroll bar style name is passed to the scroller:

scroller.customVerticalScrollBarStyleName = "my-custom-vertical-scroll-bar";

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

getStyleProviderForClass( SimpleScrollBar ).setFunctionForStyleName( "my-custom-vertical-scroll-bar", setCustomVerticalScrollBarStyles );

The default value is null.

See also

customHorizontalScrollBarStyleNamestyle 
customHorizontalScrollBarStyleName:String

A style name to add to the container's horizontal scroll bar sub-component. Typically used by a theme to provide different styles to different containers.

In the following example, a custom horizontal scroll bar style name is passed to the scroller:

scroller.customHorizontalScrollBarStyleName = "my-custom-horizontal-scroll-bar";

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

getStyleProviderForClass( SimpleScrollBar ).setFunctionForStyleName( "my-custom-horizontal-scroll-bar", setCustomHorizontalScrollBarStyles );

The default value is null.

See also

clipContentstyle 
clipContent:Boolean

If true, the viewport will be clipped to the scroller's bounds. In other words, anything appearing outside the scroller's bounds will not be visible.

To improve performance, turn off clipping and place other display objects over the edges of the scroller to hide the content that bleeds outside of the scroller's bounds.

In the following example, clipping is disabled:

scroller.clipContent = false;

The default value is true.

backgroundDisabledSkinstyle 
backgroundDisabledSkin:DisplayObject

A background to display when the container is disabled.

In the following example, the scroller is given a disabled background skin:

scroller.backgroundDisabledSkin = new Image( texture );

The default value is null.

See also

backgroundSkinstyle 
backgroundSkin:DisplayObject

The default background to display.

In the following example, the scroller is given a background skin:

scroller.backgroundSkin = new Image( texture );

The default value is null.

See also

autoHideBackgroundstyle 
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. The background will be visible when the content is extended beyond the scrolling bounds, such as when hasElasticEdges is true.

If the content is not fully opaque, this setting should not be enabled.

This setting may be enabled to potentially improve performance.

In the following example, the background is automatically hidden:

scroller.autoHideBackground = true;

The default value is false.

See also

Constant Detail
DEFAULT_CHILD_STYLE_NAME_HORIZONTAL_SCROLL_BARConstant
public static const DEFAULT_CHILD_STYLE_NAME_HORIZONTAL_SCROLL_BAR:String = "feathers-scroller-horizontal-scroll-bar"

The default value added to the styleNameList of the horizontal scroll bar.

See also

DEFAULT_CHILD_STYLE_NAME_VERTICAL_SCROLL_BARConstant 
public static const DEFAULT_CHILD_STYLE_NAME_VERTICAL_SCROLL_BAR:String = "feathers-scroller-vertical-scroll-bar"

The default value added to the styleNameList of the vertical scroll bar.

See also

INVALIDATION_FLAG_CLIPPINGConstant 
protected static const INVALIDATION_FLAG_CLIPPING:String = "clipping"

Flag to indicate that the clipping has changed.