to top
Android APIs
Since: API Level 1

Provides classes to manage a variety of visual elements that are intended for display only, such as bitmaps and gradients. These elements are often used by widgets as background images or simply as indicators (for example, a volume level indicator).

You can create most of these drawables using XML, as described in Drawable Resources.


Animatable Interface that drawables suporting animations should implement. 
Drawable.Callback Implement this interface if you want to create an animated drawable that extends Drawable


AnimationDrawable 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. 
BitmapDrawable A Drawable that wraps a bitmap and can be tiled, stretched, or aligned. 
ClipDrawable A Drawable that clips another Drawable based on this Drawable's current level value. 
ColorDrawable A specialized Drawable that fills the Canvas with a specified color. 
Drawable A Drawable is a general abstraction for "something that can be drawn." Most often you will deal with Drawable as the type of resource retrieved for drawing things to the screen; the Drawable class provides a generic API for dealing with an underlying visual resource that may take a variety of forms. 
Drawable.ConstantState This abstract class is used by Drawables to store shared constant state and data between Drawables. 
DrawableContainer A helper class that contains several Drawables and selects which one to use. 
DrawableContainer.DrawableContainerState A ConstantState that can contain several Drawables. 
GradientDrawable A Drawable with a color gradient for buttons, backgrounds, etc. 
InsetDrawable A Drawable that insets another Drawable by a specified distance. 
LayerDrawable A Drawable that manages an array of other Drawables. 
LevelListDrawable A resource that manages a number of alternate Drawables, each assigned a maximum numerical value. 
NinePatchDrawable A resizeable bitmap, with stretchable areas that you define. 
PaintDrawable Drawable that draws its bounds in the given paint, with optional rounded corners. 
PictureDrawable Drawable subclass that wraps a Picture, allowing the picture to be used whereever a Drawable is supported. 

A Drawable that can rotate another Drawable based on the current level value. 

ScaleDrawable A Drawable that changes the size of another Drawable based on its current level value. 
ShapeDrawable A Drawable object that draws primitive shapes. 
ShapeDrawable.ShaderFactory Base class defines a factory object that is called each time the drawable is resized (has a new width or height). 
StateListDrawable Lets you assign a number of graphic images to a single Drawable and swap out the visible item by a string ID value. 
TransitionDrawable An extension of LayerDrawables that is intended to cross-fade between the first and second layer. 


GradientDrawable.Orientation Controls how the gradient is oriented relative to the drawable's bounds