|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.rim.device.api.animation.AbstractAnimation
net.rim.device.api.animation.AnimationGroup
net.rim.device.api.animation.Animator
public final class Animator
Defines a top level AnimationGroup that controls updates of all animations in the group. All animations are created
from this root group.
Animator enables throttled updates. The updates to all animations
in the group are processed on the event dispatch thread. The Animator updates animations at the specified
frame rate. If there are no animations to process, the Animator stops updating and enters the idle state until more animations are scheduled.
// Create the Animator int frameRate = 30; Animator animator = new Animator(frameRate);
Animator that is less than or equal to zero disables throttled updates. If you are rendering content on a
seperate thread, you should set the target frame rate to 0 and directly update the Animator from within the thread you are rendering on.
There is an AnimatorListener interface for listening to when the Animator transitions between the processing state and the idle state. You can implement
this interface to get notifications that signal you to call update().
public void initialize()
{
...
// Create the Animator, setting the frame rate to zero to specify a non-throttled animation
Animator animator = new Animator(0);
...
}
...
public void update()
{
// Because the Animator is non-throttled, we have to call update() to update the animation values.
animator.update();
}
// Create the Animator Animator animator = new Animator(30); // Create a to-animation to animate our target's property to the value 100.0f. Animation animation = animator.addAnimationTo(_target, MyTargetAnimatable.PROPERTY_1, 100.0f, Animation.EASINGCURVE_EXPONENTIAL_OUT, 1000L);
TimeSource is provided to the Animator constructor, the TimeSource is created automatically and started. If you
specify a TimeSource using Animator.Animator(int,TimeSource) you must start the TimeSource for the
Animator to process animations.
// Create the animator. Animator animator = new Animator(30); ... AnimatedScalar alpha = new Scalar(1.0f); AnimatedScalar scale = new Scalar(100.0f); ... // Add animations on the animator Animation fadeIn = animator.addAnimationFromTo(alpha, AnimatedScalar.ANIMATION_PROPERTY_SCALAR, 0.0f, 1.0f, Animation.EASINGCURVE_LINEAR, 1000L); Animation scaleOut = animator.addAnimationFromTo(alpha, AnimatedScalar.ANIMATION_PROPERTY_SCALAR, 100, 0, Animation.EASINGCURVE_LINEAR, 1000L); // Start all the animations with no delay. animator.begin(0L);
| Constructor Summary | ||
|---|---|---|
Animator(int targetFrameRate)
Class constructor. |
||
Animator(int targetFrameRate,
TimeSource timeSource)
Class constructor. |
||
| Method Summary | ||
|---|---|---|
AnimatorListener |
getAnimatorListener()
Gets the AnimatorListener. |
|
int |
getCurrentFrameRate()
Gets the actual frame rate in frames per second. |
|
int |
getTargetFrameRate()
Gets the target frame rate for the Animator. |
|
TimeSource |
getTimeSource()
Gets the TimeSource. |
|
boolean |
isProcessing()
Indicates if the Animator is currently processing any scheduled animations. |
|
void |
reset()
Resets the Animator. |
|
void |
setAnimatorListener(AnimatorListener listener)
Sets the AnimatorListener. |
|
void |
setTargetFrameRate(int framesPerSecond)
Sets the target frame rate for the Animator. |
|
void |
update()
Updates all running animations and animations pending to begin and end. |
|
| Methods inherited from class net.rim.device.api.animation.AnimationGroup |
|---|
addAnimation, addAnimation, addAnimationBy, addAnimationBy, addAnimationFromBy, addAnimationFromBy, addAnimationFromTo, addAnimationFromTo, addAnimationGroup, addAnimationTo, addAnimationTo, begin, end, findAnimation, findAnimation, removeAllAnimations, removeAnimation, setSpeed |
| Methods inherited from class net.rim.device.api.animation.AbstractAnimation |
|---|
addBeginTrigger, addEndTrigger, getAnimator, getBeginTrigger, getEndTrigger, getListener, getName, getSpeed, hasBeginTriggers, hasEndTriggers, isStarted, removeAllBeginTriggers, removeAllEndTriggers, removeBeginTrigger, removeEndTrigger, setListener, setName |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Animator(int targetFrameRate)
Class constructor.
Creates an Animator object that throttles update() calls at the specified
frame rate. If a frame rate of zero is specified, automatic updates are disabled and you must
call update() on the Animator.
This constructor creates a TimeSource and starts it automatically.
targetFrameRate - The number of frames per second the Animator should
process. If targetFrameRate <= 0 the frame rate is not throttled.
public Animator(int targetFrameRate,
TimeSource timeSource)
Class constructor.
Creates an Animator object that throttles update() calls at the specified
frame rate. If a frame rate of zero is specified, automatic updates are disabled and you must
call update() on the Animator.
You must start the TimeSource you provide to this constructor for
the animator to play animations.
targetFrameRate - The number of frames per second the Animator should
process. If targetFrameRate <= 0 the frame rate is not throttled.timeSource - The TimeSource that the Animator will use to process time.
IllegalArgumentException - if timeSource is null.TimeSource| Method Detail |
|---|
public TimeSource getTimeSource()
Gets the TimeSource.
Note: Calling TimeSource.stop() will reset the Animator
by stopping any running animations and removing any scheduled animations.
TimeSource used by this Animator.TimeSourcepublic AnimatorListener getAnimatorListener()
Gets the AnimatorListener.
You can use the AnimatorListener to listen for Animator state changes between
the processing state and the idle state.
AnimatorListener or null if none is set.AnimatorListenerpublic void setAnimatorListener(AnimatorListener listener)
Sets the AnimatorListener.
The AnimatorListener is used to listen for Animator state changes between
the processing state and the idle state.
listener - The listener to be set or null to remove a listener.AnimatorListenerpublic void update()
Updates all running animations and animations pending to begin and end.
You only have to call this method if the Animator is non-throttled.
public void reset()
Resets the Animator.
Stops the TimeSource, ends any running animations and removes any scheduled animations.
public int getCurrentFrameRate()
Gets the actual frame rate in frames per second.
Returns 0 if the Animator is non-throttled.
Animator.public int getTargetFrameRate()
Gets the target frame rate for the Animator.
public void setTargetFrameRate(int framesPerSecond)
Sets the target frame rate for the Animator.
framesPerSecond - The targetted number of frames per second to update the animations.public boolean isProcessing()
Indicates if the Animator is currently processing any scheduled animations.
You should not poll this method. Instead, implement AnimatorListener which receives callbacks when
the Animator's state switches between processing and idle.
true if processing, false if idling.AnimatorListener
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Copyright 1999-2010 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark of Sun Microsystems, Inc.