AnimationDrawable Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
An object used to create frame-by-frame animations, defined by a series of Drawable objects, which can be used as a View object's background.
[Android.Runtime.Register("android/graphics/drawable/AnimationDrawable", DoNotGenerateAcw=true)]
public class AnimationDrawable : Android.Graphics.Drawables.DrawableContainer, Android.Graphics.Drawables.IAnimatable, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IRunnable
[<Android.Runtime.Register("android/graphics/drawable/AnimationDrawable", DoNotGenerateAcw=true)>]
type AnimationDrawable = class
inherit DrawableContainer
interface IAnimatable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IRunnable
- Inheritance
- Attributes
- Implements
Remarks
An object used to create frame-by-frame animations, defined by a series of Drawable objects, which can be used as a View object's background.
The simplest way to create a frame-by-frame animation is to define the animation in an XML file, placed in the res/drawable/ folder, and set it as the background to a View object. Then, call #start()
to run the animation.
An AnimationDrawable defined in XML consists of a single <animation-list>
element and a series of nested <item>
tags. Each item defines a frame of the animation. See the example below.
spin_animation.xml file in res/drawable/ folder:
<!-- Animation frames are wheel0.png through wheel5.png
files inside the res/drawable/ folder -->
<animation-list android:id="@+id/selected" android:oneshot="false">
<item android:drawable="@drawable/wheel0" android:duration="50" />
<item android:drawable="@drawable/wheel1" android:duration="50" />
<item android:drawable="@drawable/wheel2" android:duration="50" />
<item android:drawable="@drawable/wheel3" android:duration="50" />
<item android:drawable="@drawable/wheel4" android:duration="50" />
<item android:drawable="@drawable/wheel5" android:duration="50" />
</animation-list>
Here is the code to load and play this animation.
// Load the ImageView that will host the animation and
// set its background to our AnimationDrawable XML resource.
ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
img.setBackgroundResource(R.drawable.spin_animation);
// Get the background, which has been compiled to an AnimationDrawable object.
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
// Start the animation (looped playback by default).
frameAnimation.start();
<div class="special reference"> <h3>Developer Guides</h3>
For more information about animating with AnimationDrawable
, read the Drawable Animation developer guide.
</div>
Java documentation for android.graphics.drawable.AnimationDrawable
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
AnimationDrawable() | |
AnimationDrawable(IntPtr, JniHandleOwnership) |
A constructor used when creating managed representations of JNI objects; called by the runtime. |
Properties
Alpha |
Gets the current alpha value for the drawable. (Inherited from Drawable) |
AutoMirrored |
Tells if this Drawable will be automatically mirrored when its layout direction is RTL right-to-left. -or- Set whether this Drawable is automatically mirrored when its layout direction is RTL (right-to left). (Inherited from Drawable) |
Bounds |
Return the drawable's bounds Rect. -or- Specify a bounding rectangle for the Drawable. (Inherited from Drawable) |
Callback |
Return the current |
ChangingConfigurations |
Return a mask of the configuration parameters for which this drawable may change, requiring that it be re-created. -or- Set a mask of the configuration parameters for which this drawable may change, requiring that it be re-created. (Inherited from Drawable) |
Class |
Returns the runtime class of this |
ColorFilter |
Returns the current color filter, or |
Current | (Inherited from Drawable) |
DirtyBounds |
Return the drawable's dirty bounds Rect. (Inherited from Drawable) |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
HasFocusStateSpecified |
Indicates whether this drawable has at least one state spec explicitly
specifying |
IntrinsicHeight |
Returns the drawable's intrinsic height. (Inherited from Drawable) |
IntrinsicWidth |
Returns the drawable's intrinsic width. (Inherited from Drawable) |
IsFilterBitmap | (Inherited from Drawable) |
IsProjected |
Whether this drawable requests projection. (Inherited from Drawable) |
IsRunning |
Indicates whether the animation is currently running or not. |
IsStateful |
Indicates whether this drawable will change its appearance based on state. (Inherited from Drawable) |
IsVisible | (Inherited from Drawable) |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
LayoutDirection |
Returns the resolved layout direction for this Drawable. (Inherited from Drawable) |
Level |
Retrieve the current level. (Inherited from Drawable) |
MinimumHeight |
Returns the minimum height suggested by this Drawable. (Inherited from Drawable) |
MinimumWidth |
Returns the minimum width suggested by this Drawable. (Inherited from Drawable) |
NumberOfFrames | |
OneShot |
Sets whether the animation should play once or repeat. |
Opacity |
Return the opacity/transparency of this Drawable. (Inherited from DrawableContainer) |
OpticalInsets |
Return in insets the layout insets suggested by this Drawable for use with alignment operations during layout. (Inherited from Drawable) |
PeerReference | (Inherited from Object) |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
TransparentRegion |
Returns a Region representing the part of the Drawable that is completely transparent. (Inherited from Drawable) |
Methods
AddFrame(Drawable, Int32) |
Adds a frame to the animation |
ApplyTheme(Resources+Theme) |
Applies the specified theme to this Drawable and its children. (Inherited from Drawable) |
CanApplyTheme() | (Inherited from Drawable) |
ClearColorFilter() |
Removes the color filter for this drawable. (Inherited from Drawable) |
Clone() |
Creates and returns a copy of this object. (Inherited from Object) |
CopyBounds() |
Return a copy of the drawable's bounds in a new Rect. (Inherited from Drawable) |
CopyBounds(Rect) |
Return a copy of the drawable's bounds in the specified Rect (allocated by the caller). (Inherited from Drawable) |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
Draw(Canvas) |
Draw in its bounds (set via setBounds) respecting optional effects such as alpha (set via setAlpha) and color filter (set via setColorFilter). (Inherited from DrawableContainer) |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
GetConstantState() |
Return a |
GetDuration(Int32) | |
GetFrame(Int32) | |
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
GetHotspotBounds(Rect) |
Populates |
GetOutline(Outline) |
Called to get the drawable to populate the Outline that defines its drawing area. (Inherited from Drawable) |
GetPadding(Rect) |
Return in padding the insets suggested by this Drawable for placing content inside the drawable's bounds. (Inherited from Drawable) |
GetState() |
Describes the current state, as a union of primitve states, such as
|
Inflate(Resources, XmlReader, IAttributeSet) |
Inflate this Drawable from an XML resource. (Inherited from Drawable) |
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Inflate this Drawable from an XML resource. (Inherited from Drawable) |
InflateAsync(Resources, XmlReader, IAttributeSet) | (Inherited from Drawable) |
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) | (Inherited from Drawable) |
InvalidateDrawable(Drawable) |
Called when the drawable needs to be redrawn. (Inherited from DrawableContainer) |
InvalidateSelf() |
Use the current |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
JumpToCurrentState() |
If this Drawable does transition animations between states, ask that it immediately jump to the current state and skip any active animations. (Inherited from Drawable) |
Mutate() |
Make this drawable mutable. (Inherited from Drawable) |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
OnBoundsChange(Rect) |
Override this in your subclass to change appearance if you vary based on the bounds. (Inherited from Drawable) |
OnLayoutDirectionChanged(Int32) |
Called when the drawable's resolved layout direction changes. (Inherited from Drawable) |
OnLevelChange(Int32) |
Override this in your subclass to change appearance if you vary based on level. (Inherited from Drawable) |
OnStateChange(Int32[]) |
Override this in your subclass to change appearance if you recognize the specified state. (Inherited from Drawable) |
Run() |
This method exists for implementation purpose only and should not be called directly. |
ScheduleDrawable(Drawable, Action, Int64) | (Inherited from DrawableContainer) |
ScheduleDrawable(Drawable, IRunnable, Int64) |
A Drawable can call this to schedule the next frame of its animation. (Inherited from DrawableContainer) |
ScheduleSelf(Action, Int64) | (Inherited from Drawable) |
ScheduleSelf(IRunnable, Int64) |
Use the current |
SelectDrawable(Int32) |
Sets the currently displayed drawable by index. (Inherited from DrawableContainer) |
SetAlpha(Int32) |
Specify an alpha value for the drawable. 0 means fully transparent, and 255 means fully opaque. (Inherited from DrawableContainer) |
SetBounds(Int32, Int32, Int32, Int32) |
Specify a bounding rectangle for the Drawable. (Inherited from Drawable) |
SetCallback(Drawable+ICallback) |
Bind a |
SetColorFilter(Color, PorterDuff+Mode) |
Specify a color and Porter-Duff mode to be the color filter for this drawable. (Inherited from Drawable) |
SetColorFilter(ColorFilter) |
Specify an optional color filter for the drawable. (Inherited from DrawableContainer) |
SetConstantState(DrawableContainer+DrawableContainerState) | (Inherited from DrawableContainer) |
SetDither(Boolean) |
Set to true to have the drawable dither its colors when drawn to a device with fewer than 8-bits per color component. (Inherited from Drawable) |
SetEnterFadeDuration(Int32) |
Change the global fade duration when a new drawable is entering the scene. (Inherited from DrawableContainer) |
SetExitFadeDuration(Int32) |
Change the global fade duration when a new drawable is leaving the scene. (Inherited from DrawableContainer) |
SetFilterBitmap(Boolean) |
Set to true to have the drawable filter its bitmaps with bilinear sampling when they are scaled or rotated. (Inherited from Drawable) |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
SetHotspot(Single, Single) |
Specifies the hotspot's location within the drawable. (Inherited from Drawable) |
SetHotspotBounds(Int32, Int32, Int32, Int32) |
Sets the bounds to which the hotspot is constrained, if they should be different from the drawable bounds. (Inherited from Drawable) |
SetLayoutDirection(LayoutDirection) |
Set the layout direction for this drawable. (Inherited from Drawable) |
SetLevel(Int32) |
Specify the level for the drawable. (Inherited from Drawable) |
SetState(Int32[]) |
Specify a set of states for the drawable. (Inherited from Drawable) |
SetTint(Int32) |
Specifies tint color for this drawable. (Inherited from Drawable) |
SetTintBlendMode(BlendMode) |
Specifies a tint blending mode for this drawable. (Inherited from Drawable) |
SetTintList(ColorStateList) |
Specifies tint color for this drawable as a color state list. (Inherited from Drawable) |
SetTintMode(PorterDuff+Mode) |
Specifies a tint blending mode for this drawable. (Inherited from Drawable) |
SetVisible(Boolean, Boolean) |
Set whether this Drawable is visible. (Inherited from Drawable) |
Start() |
Starts the animation from the first frame, looping if necessary. |
Stop() |
Stops the animation at the current frame. |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
UnregisterFromRuntime() | (Inherited from Object) |
UnscheduleDrawable(Drawable, Action) | (Inherited from DrawableContainer) |
UnscheduleDrawable(Drawable, IRunnable) |
A Drawable can call this to unschedule an action previously scheduled with Drawable.ICallback. (Inherited from DrawableContainer) |
UnscheduleSelf(Action) | (Inherited from Drawable) |
UnscheduleSelf(IRunnable) |
Use the current |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Explicit Interface Implementations
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |
Extension Methods
JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
JavaCast<TResult>(IJavaObject) | |
GetJniTypeName(IJavaPeerable) |