Package | feathers.controls |
Class | public class StackScreenNavigator |
Inheritance | StackScreenNavigator BaseScreenNavigator FeathersControl starling.display.Sprite |
Product Version : | Feathers 2.1.0 |
The following example creates a screen navigator, adds a screen and displays it:
var navigator:StackScreenNavigator = new StackScreenNavigator(); navigator.addScreen( "mainMenu", new StackScreenNavigatorItem( MainMenuScreen ) ); this.addChild( navigator ); navigator.rootScreenID = "mainMenu";
See also
Property | Defined By | ||
---|---|---|---|
activeScreen : DisplayObject [read-only]
A reference to the currently active screen. | BaseScreenNavigator | ||
activeScreenID : String [read-only]
The string identifier for the currently active screen. | BaseScreenNavigator | ||
addedEffect : Function
An optional effect that is activated when the component is added to
the stage. | FeathersControl | ||
autoSizeMode : String
Determines how the screen navigator will set its own size when its
dimensions (width and height) aren't set explicitly. | BaseScreenNavigator | ||
clipContent : Boolean
Determines if the navigator's content should be clipped to the width
and height. | BaseScreenNavigator | ||
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 | ||
effectsSuspended : Boolean [read-only]
Indicates if effects have been suspended. | FeathersControl | ||
explicitHeight : Number [read-only]
The height value explicitly set by passing a value to the
height setter or by calling the setSize()
function. | FeathersControl | ||
explicitMaxHeight : Number [read-only]
The maximum height value explicitly set by passing a value to the
maxHeight setter. | FeathersControl | ||
explicitMaxWidth : Number [read-only]
The maximum width value explicitly set by passing a value to the
maxWidth setter. | FeathersControl | ||
explicitMinHeight : Number [read-only]
The minimum height value explicitly set by passing a value to the
minHeight setter. | FeathersControl | ||
explicitMinWidth : Number [read-only]
The minimum width value explicitly set by passing a value to the
minWidth setter. | FeathersControl | ||
explicitWidth : Number [read-only]
The width value explicitly set by passing a value to the
width setter or to the setSize() method. | FeathersControl | ||
focusInEffect : Function
An optional effect that is activated when the component receives
focus. | FeathersControl | ||
focusManager : 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 | ||
focusOutEffect : Function
An optional effect that is activated when the component loses focus. | FeathersControl | ||
focusOwner : IFocusDisplayObject
The implementation of this property is provided for convenience,
but it cannot be used unless a subclass implements the
IFocusDisplayObject interface.
Used for associating focusable display objects that are not direct
children with an "owner" focusable display object, such as pop-ups. | FeathersControl | ||
globalStyleProvider : IStyleProvider [static]
The default IStyleProvider for all StackScreenNavigator
components. | StackScreenNavigator | ||
height : Number [override]
The height of the component, in pixels. | FeathersControl | ||
hideEffect : Function
An optional effect that is activated when the component is hidden. | FeathersControl | ||
includeInLayout : Boolean
Determines if the ILayout should use this object or ignore it. | FeathersControl | ||
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
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 | ||
isInitialized : Boolean [read-only]
Determines if the component has been initialized yet. | FeathersControl | ||
isQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list. | FeathersControl | ||
isShowingFocus : 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 | ||
isSwipeToPopEnabled : Boolean
Determines if the swipe gesture to pop the current screen is enabled. | StackScreenNavigator | ||
isTransitionActive : Boolean [read-only]
Indicates whether the screen navigator is currently transitioning
between screens. | BaseScreenNavigator | ||
layoutData : ILayoutData
Extra parameters associated with this display object that will be
used by the layout algorithm. | FeathersControl | ||
maintainTouchFocus : 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 | ||
maxHeight : Number
The maximum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | ||
maxWidth : Number
The maximum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | ||
minHeight : Number
The minimum recommended height to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | ||
minimumDragDistance : Number
The minimum physical distance (in inches) that a touch must move
before a drag gesture begins when isSwipeToPopEnabled
is true. | StackScreenNavigator | ||
minimumSwipeVelocity : Number
The minimum physical velocity (in inches per second) that a touch
must move before a swipe is detected. | StackScreenNavigator | ||
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 | ||
minWidth : Number
The minimum recommended width to be used for self-measurement and,
optionally, by any code that is resizing this component. | FeathersControl | ||
moveEffect : Function
An optional effect that is activated when the component is moved to
a new position. | FeathersControl | ||
nextDownFocus : 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 | ||
nextLeftFocus : 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 | ||
nextRightFocus : 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 | ||
nextTabFocus : 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 | ||
nextUpFocus : 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 | ||
previousTabFocus : 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 | ||
resizeEffect : Function
An optional effect that is activated when the component is resized
with new dimensions. | FeathersControl | ||
rootScreenID : String
Sets the first screen at the bottom of the stack, or the root screen. | StackScreenNavigator | ||
showEffect : Function
An optional effect that is activated when the component is shown. | FeathersControl | ||
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 | ||
swipeToPopGestureEdgeSize : Number
The size (in inches) of the region near the left edge of the content
that can be dragged when isSwipeToPopEnabled is
true. | StackScreenNavigator | ||
toolTip : String
Text to display in a tool tip to when hovering over this component,
if the ToolTipManager is enabled. | FeathersControl | ||
width : Number [override]
The width of the component, in pixels. | FeathersControl |
Method | Defined By | ||
---|---|---|---|
Constructor. | StackScreenNavigator | ||
addScreen(id:String, item:StackScreenNavigatorItem):void
Registers a new screen with a string identifier that can be used
to reference the screen in other calls, like removeScreen()
or pushScreen(). | StackScreenNavigator | ||
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 | ||
getScreen(id:String):StackScreenNavigatorItem
Returns the StackScreenNavigatorItem instance with the
specified identifier. | StackScreenNavigator | ||
getScreenIDs(result:Vector.<String> = null):Vector.<String>
Returns a list of the screen identifiers that have been added. | BaseScreenNavigator | ||
hasScreen(id:String):Boolean
Determines if the specified screen identifier has been added with
addScreen(). | BaseScreenNavigator | ||
hideFocus():void
The implementation of this method is provided for convenience, but
it cannot be used unless a subclass implements the
IFocusDisplayObject interface.
| FeathersControl | ||
initializeNow():void
If the component has not yet initialized, initializes immediately. | 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 | ||
popAll(transition:Function = null):void
Pops all screens from the stack, leaving the
StackScreenNavigator empty. | StackScreenNavigator | ||
popScreen(transition:Function = null):DisplayObject
Pops the current screen from the top of the stack, returning to the
previous screen. | StackScreenNavigator | ||
popToRootScreen(transition:Function = null):DisplayObject
Returns to the root screen, at the bottom of the stack. | StackScreenNavigator | ||
popToRootScreenAndReplace(id:String, transition:Function = null):DisplayObject
Returns to the root screen, at the bottom of the stack, but replaces
it with a new root screen. | StackScreenNavigator | ||
pushScreen(id:String, savedPreviousScreenProperties:Object = null, transition:Function = null):DisplayObject
Pushes a screen onto the top of the stack. | StackScreenNavigator | ||
removeAllScreens():void
Removes all screens that were added with addScreen(). | BaseScreenNavigator | ||
removeFromParentWithEffect(effect:Function, dispose:Boolean = false):void
Plays an effect before removing the component from its parent. | FeathersControl | ||
removeScreen(id:String):StackScreenNavigatorItem
Removes an existing screen using the identifier assigned to it in the
call to addScreen(). | StackScreenNavigator | ||
replaceScreen(id:String, transition:Function = null):DisplayObject
Replaces the current screen on the top of the stack with a new
screen. | StackScreenNavigator | ||
resetStyleProvider():void
Resets the styleProvider property to its default value,
which is usually the global style provider for the component. | FeathersControl | ||
resumeEffects():void
Indicates that effects should be re-activated after being suspended. | FeathersControl | ||
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single
function call. | FeathersControl | ||
showFocus():void
The implementation of this method is provided for convenience, but
it cannot be used unless a subclass implements the
IFocusDisplayObject interface.
| FeathersControl | ||
suspendEffects():void
Indicates that effects should not be activated temporarily. | FeathersControl | ||
validate():void
Immediately validates the display object, if it is invalid. | FeathersControl |
Style | Defined By | ||
---|---|---|---|
focusIndicatorSkin : DisplayObject If this component supports focus, this optional skin will be displayed above the component when showFocus() is called. | 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 | ||
popToRootTransition : Function Typically used to provide some kind of animation or visual effect, a function that is called when the screen navigator clears its stack, to show the first screen that was pushed onto the stack. | StackScreenNavigator | ||
popTransition : Function Typically used to provide some kind of animation or visual effect, this function that is called when the screen navigator pops a screen from the top of the stack. | StackScreenNavigator | ||
pushTransition : Function Typically used to provide some kind of animation or visual effect, this function that is called when the screen navigator pushes a new screen onto the stack. | StackScreenNavigator |
globalStyleProvider | property |
public static var globalStyleProvider:IStyleProvider
The default IStyleProvider
for all StackScreenNavigator
components.
The default value is null
.
See also
isSwipeToPopEnabled | property |
isSwipeToPopEnabled:Boolean
Determines if the swipe gesture to pop the current screen is enabled.
In the following example, swiping to go back is enabled:
navigator.isSwipeToPopEnabled = true;
The default value is false
.
public function get isSwipeToPopEnabled():Boolean
public function set isSwipeToPopEnabled(value:Boolean):void
minimumDragDistance | property |
minimumDragDistance:Number
The minimum physical distance (in inches) that a touch must move
before a drag gesture begins when isSwipeToPopEnabled
is true
.
In the following example, the minimum drag distance is customized:
scroller.minimumDragDistance = 0.1;
The default value is 0.04
.
public function get minimumDragDistance():Number
public function set minimumDragDistance(value:Number):void
See also
minimumSwipeVelocity | property |
minimumSwipeVelocity:Number
The minimum physical velocity (in inches per second) that a touch must move before a swipe is detected. Otherwise, it will settle which screen to navigate to based on which one is closer when the touch ends.
In the following example, the minimum swipe velocity is customized:
navigator.minimumSwipeVelocity = 2;
The default value is 5
.
public function get minimumSwipeVelocity():Number
public function set minimumSwipeVelocity(value:Number):void
See also
rootScreenID | property |
rootScreenID:String
Sets the first screen at the bottom of the stack, or the root screen. When this screen is shown, there will be no transition.
If the stack contains screens when you set this property, they will be removed from the stack. In other words, setting this property will clear the stack, erasing the current history.
In the following example, the root screen is set:
navigator.rootScreenID = "someScreen";
public function get rootScreenID():String
public function set rootScreenID(value:String):void
See also
swipeToPopGestureEdgeSize | property |
swipeToPopGestureEdgeSize:Number
The size (in inches) of the region near the left edge of the content
that can be dragged when isSwipeToPopEnabled
is
true
.
In the following example, the swipe-to-pop gesture edge size is customized:
drawers.swipeToPopGestureEdgeSize = 0.25;
The default value is 0.1
.
public function get swipeToPopGestureEdgeSize():Number
public function set swipeToPopGestureEdgeSize(value:Number):void
See also
StackScreenNavigator | () | Constructor |
public function StackScreenNavigator()
Constructor.
addScreen | () | method |
public function addScreen(id:String, item:StackScreenNavigatorItem):void
Registers a new screen with a string identifier that can be used
to reference the screen in other calls, like removeScreen()
or pushScreen()
.
Parameters
id:String | |
item:StackScreenNavigatorItem |
See also
getScreen | () | method |
public function getScreen(id:String):StackScreenNavigatorItem
Returns the StackScreenNavigatorItem
instance with the
specified identifier.
Parameters
id:String |
StackScreenNavigatorItem |
popAll | () | method |
public function popAll(transition:Function = null):void
Pops all screens from the stack, leaving the
StackScreenNavigator
empty.
An optional transition may be specified. If null
, the
popTransition
property will be used instead.
Parameters
transition:Function (default = null )
|
See also
popScreen | () | method |
public function popScreen(transition:Function = null):DisplayObject
Pops the current screen from the top of the stack, returning to the previous screen.
An optional transition may be specified. If null
the
popTransition
property will be used instead.
Returns a reference to the new screen, unless a transition is currently active. In that case, the new screen will be queued until the transition has completed, and no reference will be returned.
Parameters
transition:Function (default = null )
|
DisplayObject |
See also
popToRootScreen | () | method |
public function popToRootScreen(transition:Function = null):DisplayObject
Returns to the root screen, at the bottom of the stack.
An optional transition may be specified. If null
, the
popToRootTransition
or popTransition
property will be used instead.
Returns a reference to the new screen, unless a transition is currently active. In that case, the new screen will be queued until the transition has completed, and no reference will be returned.
Parameters
transition:Function (default = null )
|
DisplayObject |
See also
popToRootScreenAndReplace | () | method |
public function popToRootScreenAndReplace(id:String, transition:Function = null):DisplayObject
Returns to the root screen, at the bottom of the stack, but replaces it with a new root screen.
An optional transition may be specified. If null
, the
popToRootTransition
or popTransition
property will be used instead.
Returns a reference to the new screen, unless a transition is currently active. In that case, the new screen will be queued until the transition has completed, and no reference will be returned.
Parameters
id:String | |
transition:Function (default = null )
|
DisplayObject |
See also
pushScreen | () | method |
public function pushScreen(id:String, savedPreviousScreenProperties:Object = null, transition:Function = null):DisplayObject
Pushes a screen onto the top of the stack.
A set of key-value pairs representing properties on the previous screen may be passed in. If the new screen is popped, these values may be used to restore the previous screen's state.
An optional transition may be specified. If null
the
pushTransition
property will be used instead.
Returns a reference to the new screen, unless a transition is currently active. In that case, the new screen will be queued until the transition has completed, and no reference will be returned.
Parameters
id:String | |
savedPreviousScreenProperties:Object (default = null )
| |
transition:Function (default = null )
|
DisplayObject |
See also
removeScreen | () | method |
public function removeScreen(id:String):StackScreenNavigatorItem
Removes an existing screen using the identifier assigned to it in the
call to addScreen()
.
Parameters
id:String |
StackScreenNavigatorItem |
See also
replaceScreen | () | method |
public function replaceScreen(id:String, transition:Function = null):DisplayObject
Replaces the current screen on the top of the stack with a new screen. May be used in the case where you want to navigate from screen A to screen B and then to screen C, but when popping screen C, you want to skip screen B and return to screen A.
Returns a reference to the new screen, unless a transition is currently active. In that case, the new screen will be queued until the transition has completed, and no reference will be returned.
An optional transition may be specified. If null
the
pushTransition
property will be used instead.
Parameters
id:String | |
transition:Function (default = null )
|
DisplayObject |
See also
popToRootTransition | style |
popToRootTransition:Function
Typically used to provide some kind of animation or visual effect, a function that is called when the screen navigator clears its stack, to show the first screen that was pushed onto the stack.
If this property is null
, the value of the
popTransition
property will be used instead.
In the following example, a custom pop to root transition is passed to the screen navigator:
navigator.popToRootTransition = Fade.createFadeInTransition();
A number of animated transitions may be found in the feathers.motion package. However, you are not limited to only these transitions. It's possible to create custom transitions too.
A custom transition function should have the following signature:
function(oldScreen:DisplayObject, newScreen:DisplayObject, completeCallback:Function):void
Either of the oldScreen
and newScreen
arguments may be null
, but never both. The
oldScreen
argument will be null
when the
first screen is displayed or when a new screen is displayed after
clearing the screen. The newScreen
argument will
be null when clearing the screen.
The completeCallback
function must be called
when the transition effect finishes. This callback indicate to the
screen navigator that the transition has finished. This function has
the following signature:
function(cancelTransition:Boolean = false):void
The first argument defaults to false
, meaning that
the transition completed successfully. In most cases, this callback
may be called without arguments. If a transition is cancelled before
completion (perhaps through some kind of user interaction), and the
previous screen should be restored, pass true
as the
first argument to the callback to inform the screen navigator that
the transition is cancelled.
The default value is null
.
See also
popTransition | style |
popTransition:Function
Typically used to provide some kind of animation or visual effect, this function that is called when the screen navigator pops a screen from the top of the stack.
In the following example, the screen navigator is given a pop transition that slides the screens to the right:
navigator.popTransition = Slide.createSlideRightTransition();
A number of animated transitions may be found in the feathers.motion package. However, you are not limited to only these transitions. It's possible to create custom transitions too.
A custom transition function should have the following signature:
function(oldScreen:DisplayObject, newScreen:DisplayObject, completeCallback:Function):void
Either of the oldScreen
and newScreen
arguments may be null
, but never both. The
oldScreen
argument will be null
when the
first screen is displayed or when a new screen is displayed after
clearing the screen. The newScreen
argument will
be null when clearing the screen.
The completeCallback
function must be called
when the transition effect finishes. This callback indicate to the
screen navigator that the transition has finished. This function has
the following signature:
function(cancelTransition:Boolean = false):void
The first argument defaults to false
, meaning that
the transition completed successfully. In most cases, this callback
may be called without arguments. If a transition is cancelled before
completion (perhaps through some kind of user interaction), and the
previous screen should be restored, pass true
as the
first argument to the callback to inform the screen navigator that
the transition is cancelled.
The default value is null
.
See also
pushTransition | style |
pushTransition:Function
Typically used to provide some kind of animation or visual effect, this function that is called when the screen navigator pushes a new screen onto the stack.
In the following example, the screen navigator is given a push transition that slides the screens to the left:
navigator.pushTransition = Slide.createSlideLeftTransition();
A number of animated transitions may be found in the feathers.motion package. However, you are not limited to only these transitions. It's possible to create custom transitions too.
A custom transition function should have the following signature:
function(oldScreen:DisplayObject, newScreen:DisplayObject, completeCallback:Function):void
Either of the oldScreen
and newScreen
arguments may be null
, but never both. The
oldScreen
argument will be null
when the
first screen is displayed or when a new screen is displayed after
clearing the screen. The newScreen
argument will
be null when clearing the screen.
The completeCallback
function must be called
when the transition effect finishes. This callback indicate to the
screen navigator that the transition has finished. This function has
the following signature:
function(cancelTransition:Boolean = false):void
The first argument defaults to false
, meaning that
the transition completed successfully. In most cases, this callback
may be called without arguments. If a transition is cancelled before
completion (perhaps through some kind of user interaction), and the
previous screen should be restored, pass true
as the
first argument to the callback to inform the screen navigator that
the transition is cancelled.
The default value is null
.
See also