Package | feathers.controls |
Class | public class ScreenNavigator |
Inheritance | ScreenNavigator BaseScreenNavigator FeathersControl starling.display.Sprite |
Product Version : | Feathers 1.0.0 |
The following example creates a screen navigator, adds a screen and displays it:
var navigator:ScreenNavigator = new ScreenNavigator(); navigator.addScreen( "mainMenu", new ScreenNavigatorItem( MainMenuScreen ) ); this.addChild( navigator ); navigator.showScreen( "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 ScreenNavigator
components. | ScreenNavigator | ||
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 | ||
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 | ||
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 | ||
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 | ||
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. | ScreenNavigator | ||
addScreen(id:String, item:ScreenNavigatorItem):void
Registers a new screen with a string identifier that can be used
to reference the screen in other calls, like removeScreen()
or showScreen(). | ScreenNavigator | ||
clearScreen(transition:Function = null):void
Removes the current screen, leaving the ScreenNavigator
empty. | ScreenNavigator | ||
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):ScreenNavigatorItem
Returns the ScreenNavigatorItem instance with the
specified identifier. | ScreenNavigator | ||
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 | ||
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):ScreenNavigatorItem
Removes an existing screen using the identifier assigned to it in the
call to addScreen(). | ScreenNavigator | ||
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 | ||
showScreen(id:String, transition:Function = null):DisplayObject
Displays a screen and returns a reference to it. | ScreenNavigator | ||
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 | ||
transition : Function Typically used to provide some kind of animation or visual effect, this function is called when a new screen is shown. | ScreenNavigator |
globalStyleProvider | property |
public static var globalStyleProvider:IStyleProvider
The default IStyleProvider
for all ScreenNavigator
components.
The default value is null
.
See also
ScreenNavigator | () | Constructor |
public function ScreenNavigator()
Constructor.
addScreen | () | method |
public function addScreen(id:String, item:ScreenNavigatorItem):void
Registers a new screen with a string identifier that can be used
to reference the screen in other calls, like removeScreen()
or showScreen()
.
Parameters
id:String | |
item:ScreenNavigatorItem |
See also
clearScreen | () | method |
public function clearScreen(transition:Function = null):void
Removes the current screen, leaving the ScreenNavigator
empty.
An optional transition may be specified. If null
the
transition
property will be used instead.
Parameters
transition:Function (default = null )
|
See also
getScreen | () | method |
public function getScreen(id:String):ScreenNavigatorItem
Returns the ScreenNavigatorItem
instance with the
specified identifier.
Parameters
id:String |
ScreenNavigatorItem |
removeScreen | () | method |
public function removeScreen(id:String):ScreenNavigatorItem
Removes an existing screen using the identifier assigned to it in the
call to addScreen()
.
Parameters
id:String |
ScreenNavigatorItem |
See also
showScreen | () | method |
public function showScreen(id:String, transition:Function = null):DisplayObject
Displays a screen and returns a reference to it. If a previous transition is running, the new screen will be queued, and no reference will be returned.
An optional transition may be specified. If null
the
transition
property will be used instead.
Parameters
id:String | |
transition:Function (default = null )
|
DisplayObject |
See also
transition | style |
transition:Function
Typically used to provide some kind of animation or visual effect, this function is called when a new screen is shown.
In the following example, the screen navigator is given a transition that fades in the new screen on top of the old screen:
navigator.transition = 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