public class

TransitionDrawable

extends LayerDrawable
implements Drawable.Callback
java.lang.Object
   ↳ android.graphics.drawable.Drawable
     ↳ android.graphics.drawable.LayerDrawable
       ↳ android.graphics.drawable.TransitionDrawable

Class Overview

An extension of LayerDrawables that is intended to cross-fade between the first and second layer. To start the transition, call startTransition(int). To display just the first layer, call resetTransition().

It can be defined in an XML file with the <transition> element. Each Drawable in the transition is defined in a nested <item>.

Summary

XML Attributes
Attribute Name Related Method Description
android:bottom  
android:drawable Reference to a drawable resource to use for the frame. 
android:id Supply an identifier name for this view, to later retrieve it with View.findViewById() or Activity.findViewById()
android:left  
android:right  
android:top  
[Expand]
Inherited XML Attributes
From class android.graphics.drawable.LayerDrawable
Public Constructors
TransitionDrawable(Drawable[] layers)
Create a new transition drawable with the specified list of layers.
Public Methods
void draw(Canvas canvas)
Draw in its bounds (set via setBounds) respecting optional effects such as alpha (set via setAlpha) and color filter (set via setColorFilter).
boolean isCrossFadeEnabled()
Indicates whether the cross fade is enabled for this transition.
void resetTransition()
Show only the first layer.
void reverseTransition(int duration)
Reverses the transition, picking up where the transition currently is.
void setCrossFadeEnabled(boolean enabled)
Enables or disables the cross fade of the drawables.
void startTransition(int durationMillis)
Begin the second layer on top of the first layer.
[Expand]
Inherited Methods
From class android.graphics.drawable.LayerDrawable
From class android.graphics.drawable.Drawable
From class java.lang.Object
From interface android.graphics.drawable.Drawable.Callback

XML Attributes

android:bottom

Related Methods

android:drawable

Reference to a drawable resource to use for the frame. If not given, the drawable must be defined by the first child tag.

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This corresponds to the global attribute resource symbol drawable.

Related Methods

android:id

Supply an identifier name for this view, to later retrieve it with View.findViewById() or Activity.findViewById(). This must be a resource reference; typically you set this using the @+ syntax to create a new ID resources. For example: android:id="@+id/my_id" which allows you to later retrieve the view with findViewById(R.id.my_id).

Must be a reference to another resource, in the form "@[+][package:]type:name" or to a theme attribute in the form "?[package:][type:]name".

This corresponds to the global attribute resource symbol id.

Related Methods

android:left

Related Methods

android:right

Related Methods

android:top

Related Methods

Public Constructors

public TransitionDrawable (Drawable[] layers)

Create a new transition drawable with the specified list of layers. At least 2 layers are required for this drawable to work properly.

Public Methods

public void draw (Canvas canvas)

Draw in its bounds (set via setBounds) respecting optional effects such as alpha (set via setAlpha) and color filter (set via setColorFilter).

Parameters
canvas The canvas to draw into

public boolean isCrossFadeEnabled ()

Indicates whether the cross fade is enabled for this transition.

Returns
  • True if cross fading is enabled, false otherwise.

public void resetTransition ()

Show only the first layer.

public void reverseTransition (int duration)

Reverses the transition, picking up where the transition currently is. If the transition is not currently running, this will start the transition with the specified duration. If the transition is already running, the last known duration will be used.

Parameters
duration The duration to use if no transition is running.

public void setCrossFadeEnabled (boolean enabled)

Enables or disables the cross fade of the drawables. When cross fade is disabled, the first drawable is always drawn opaque. With cross fade enabled, the first drawable is drawn with the opposite alpha of the second drawable.

Parameters
enabled True to enable cross fading, false otherwise.

public void startTransition (int durationMillis)

Begin the second layer on top of the first layer.

Parameters
durationMillis The length of the transition in milliseconds