The ViewTransitionBase class is the base class for all view transitions.
It is not intended to be used as a transition on its own.
In addition to providing common convenience and helper methods used by
view transitions, this class provides a default action bar transition
sequence.
When a view transition is initialized, the owning view navigator
sets the startView and endView properties
to the views the transition animates.
The navigator property is
set to the view navigator.
The lifecycle of a transition is as follows:
The transition starts with
the captureStartValues() method.
When this method is called, the navigator is currently in the
start state.
At this time, the transition should capture any start values
or bitmaps that it requires.
A validation pass is performed on the pending
view, and the captureEndValues() method is called.
At this time, the transition captures any properties or
bitmaps representations from the pending view.
The prepareForPlay() method is then called,
which allows the transition to perform any further preparations,
such as preparing a Spark effects sequence,
or positioning transient elements on the display list.
After a final validation pass, if necessary,
the play() method is called by the navigator
to perform the actual transition.
Prior to any animation starting, the start
event is dispatched.
When a transition completes, it dispatches an
end event.
Note:Create and configure view transitions in ActionScript;
you cannot create them in MXML.
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect
played on the action bar when the transition starts.
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect played to
transition the entire navigator, inclusive of the control bar content,
when necessary.
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect played
on the tab bar when the transition starts.
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect played
on the current and next view when the transition starts.
The currently active view of the view navigator,
as set by the owning view navigator.
This property can be null.
Implementation public function get startView():View public function set startView(value:View):void
suspendBackgroundProcessing
property
suspendBackgroundProcessing:Boolean
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
When set to true, the UIComponent.suspendBackgroundProcessing()
method is invoked prior to the transition playing.
This disables Flex's layout manager and improving performance.
Upon completion of the transition,
the layout manager function is restored by a call to the
UIComponent.resumeBackgroundProcessing() method.
The default value is false.
Implementation public function get suspendBackgroundProcessing():Boolean public function set suspendBackgroundProcessing(value:Boolean):void
When set to true, the primary view transition
is used to transition the view navigator in its entirety,
including the action bar.
Specific transitions for the action bar are not performed.
Because the tab bar is associated with the entire application,
and not a view, view transitions do not affect it.
Note that even when set to false, there are cases
where its not feasible to transition the action bar.
For example, when the action bar does not exist in one of
the two views, or if the action bar changes size.
The default value is false.
Implementation public function get transitionControlsWithContent():Boolean public function set transitionControlsWithContent(value:Boolean):void
Constructor Detail
ViewTransitionBase
()
Constructor
public function ViewTransitionBase()
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Constructor.
Method Detail
canTransitionControlBarContent
()
method
protected function canTransitionControlBarContent():Boolean
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Determine if Flex can perform a transition on
action bar or tab bar content independently of the views.
Flex cannot perform a transition on the control bars independently:
If the containing view navigator is a TabbedViewNavigator
and its tab bar's visibility changes between views.
If the value of the view navigator's overlayControls
property changes between views.
If the size or visibility of the action bar changes
between views.
Returns
Boolean — false if Flex determines controls bars between views are
incompatible in some way.
captureEndValues
()
method
public function captureEndValues():void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called by the ViewNavigator during the preparation phase of a transition.
It is invoked when the new view has been fully realized and validated and the
action bar and tab bar content reflect the state of the new view.
It is at this point that the transition can capture any values it requires from the
pending view.
In addition any bitmaps reflecting the state of the new view, tab bar,
or action bar should be captured, if required for animation.
captureStartValues
()
method
public function captureStartValues():void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called by the ViewNavigator during the preparation phase of a transition.
It is invoked when the new view has been fully realized and validated and the
action bar and tab bar content reflect the state of the new view.
The transition can use this method capture any values it requires from the
pending view.
Any bitmaps reflecting the state of the new view, tab bar,
or action bar should be captured if required for animation.
cleanUp
()
method
protected function cleanUp():void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called after the transition completes.
This method is responsible for releasing any references
and temporary constructs used by the transition.
createActionBarEffect
()
method
protected function createActionBarEffect():IEffect
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect
played on the action bar when the transition starts.
This method should be overridden by subclasses if a custom action bar
effect is required.
By default, this method returns a basic action bar effect.
Returns
IEffect — An IEffect instance serving as the action bar effect.
This effect is played by the default play() method implementation.
createConsolidatedEffect
()
method
protected function createConsolidatedEffect():IEffect
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect played to
transition the entire navigator, inclusive of the control bar content,
when necessary.
This method should be overridden by subclasses.
By default, this method returns null.
Returns
IEffect — An IEffect instance serving as the view transition.
This effect is played by the default play() method implementation.
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect played
on the tab bar when the transition starts.
This method should be overridden by subclasses.
By default, this returns null.
Returns
IEffect — An IEffect instance serving as the tab bar transition.
This effect is played by the default play() method implementation.
Called by the default prepareForPlay() implementation,
this method is responsible for creating the Spark effect played
on the current and next view when the transition starts.
This method should be overridden by subclasses.
By default, this method returns null.
Returns
IEffect — An IEffect instance serving as the view transition.
This effect is played by the default play() method implementation.
getSnapshot
()
method
protected function getSnapshot(target:UIComponent, padding:int = 4, globalPosition:Point = null):BitmapImage
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Used to render snap shots of screen elements in
preparation for transitioning.
The bitmap is returned in the form of a BitmapImage object.
The BitmapImage is in target's parent coordiantes space -
it overlaps the target precisely if paranted to the same parent.
When moving to a different parent, make sure to adjust the
transformation of the BitmapImage to correctly account for the
change in coordinate spaces.
The updated value of the globalPosition parameter
can be used for that.
padding:int (default = 4) — Padding around the object to be included in
the BitmapImage object.
globalPosition:Point (default = null) — When non-null, globalPosition
will be updated with the origin of the BitmapImage in global
coordiantes. When moving to a different coordinate space, this
value can be used to adjust the snapshot's position so its
global position on screen doesn't change.
Returns
BitmapImage — BitmapImage object representing the target.
play
()
method
public function play():void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called by the ViewNavigator when the transition
should begin animating.
At this time, the transition should dispatch a
start event.
prepareForPlay
()
method
public function prepareForPlay():void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called by the ViewNavigator during the preparation phase
of a transition.
This method gives the transition the chance to create and
configure the underlying IEffect instance, or to add any transient
elements to the display list.
Example transient elements include bitmap placeholders, temporary
containers required during the transition, and other elements.
If required, a final validation pass occurs prior to the invocation
of the play() method.
If it is determined that a standard transition can be initiated,
meaning one that transitions the control bars separately from the views,
the default implementation of this method constructs
a single Parallel effect which wraps the individual effect sequences
for the view transition, the action bar transition, and the tab bar transition.
This method uses the methods, createActionBarEffect(),
createTabBarEffect(), and createViewEffect().
If transitionControlsWithContent is set to true,
or if it is determined that the control bars cannot be transitioned independently,
a single effect is created to transition the navigator in its entirety.
In this case, only createConsolidatedEffect() is invoked.
transitionComplete
()
method
protected function transitionComplete():void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.5
Runtime Versions :
AIR 2.5
Called by the transition to indicate that the transition
has completed.
This method dispatches the end event.
The FlexEvent.TRANSITION_START constant defines the value of the
type property of the event object for a transitionStart event.
This event will only be dispatched when there are one or more relevant listeners
attached to the dispatching object.
The properties of the event object have the following values:
Property
Value
bubbles
false
cancelable
false
currentTarget
The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget.
target
The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event.
The FlexEvent.TRANSITION_START constant defines the value of the
type property of the event object for a transitionStart event.
This event will only be dispatched when there are one or more relevant listeners
attached to the dispatching object.
The properties of the event object have the following values:
Property
Value
bubbles
false
cancelable
false
currentTarget
The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget.
target
The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event.