AnimationDrawable Class

Definition

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:

&lt;!-- Animation frames are wheel0.png through wheel5.png
                files inside the res/drawable/ folder --&gt;
            &lt;animation-list android:id=&quot;@+id/selected&quot; android:oneshot=&quot;false&quot;&gt;
               &lt;item android:drawable=&quot;@drawable/wheel0&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel1&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel2&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel3&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel4&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel5&quot; android:duration=&quot;50&quot; /&gt;
            &lt;/animation-list&gt;

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 Callback implementation attached to this Drawable.

(Inherited from Drawable)
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 Object.

(Inherited from Object)
ColorFilter

Returns the current color filter, or null if none set.

(Inherited from Drawable)
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 android.R.attr#state_focused.

(Inherited from Drawable)
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 ConstantState instance that holds the shared state of this Drawable.

(Inherited from Drawable)
GetDuration(Int32)
GetFrame(Int32)
GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
GetHotspotBounds(Rect)

Populates outRect with the hotspot bounds.

(Inherited from Drawable)
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 android.R.attr#state_focused, android.R.attr#state_selected, etc.

(Inherited from Drawable)
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 Callback implementation to have this Drawable redrawn.

(Inherited from Drawable)
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 Callback implementation to have this Drawable scheduled.

(Inherited from Drawable)
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 Callback object to this Drawable.

(Inherited from Drawable)
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 Callback implementation to have this Drawable unscheduled.

(Inherited from Drawable)
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)

Applies to