Android APIs
public class

PictureDrawable

extends Drawable
java.lang.Object
   ↳ android.graphics.drawable.Drawable
     ↳ android.graphics.drawable.PictureDrawable

Class Overview

Drawable subclass that wraps a Picture, allowing the picture to be used wherever a Drawable is supported.

Summary

Public Constructors
PictureDrawable(Picture picture)
Construct a new drawable referencing the specified picture.
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).
int getIntrinsicHeight()
Return the intrinsic height of the underlying drawable object.
int getIntrinsicWidth()
Return the intrinsic width of the underlying drawable object.
int getOpacity()
Return the opacity/transparency of this Drawable.
Picture getPicture()
Return the picture associated with the drawable.
void setAlpha(int alpha)
Specify an alpha value for the drawable.
void setColorFilter(ColorFilter colorFilter)
Specify an optional color filter for the drawable.
void setPicture(Picture picture)
Associate a picture with this drawable.
[Expand]
Inherited Methods
From class android.graphics.drawable.Drawable
From class java.lang.Object

Public Constructors

public PictureDrawable (Picture picture)

Added in API level 1

Construct a new drawable referencing the specified picture. The picture may be null.

Parameters
picture The picture to associate with the drawable. May be null.

Public Methods

public void draw (Canvas canvas)

Added in API level 1

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 int getIntrinsicHeight ()

Added in API level 1

Return the intrinsic height of the underlying drawable object. Returns -1 if it has no intrinsic height, such as with a solid color.

public int getIntrinsicWidth ()

Added in API level 1

Return the intrinsic width of the underlying drawable object. Returns -1 if it has no intrinsic width, such as with a solid color.

public int getOpacity ()

Added in API level 1

Return the opacity/transparency of this Drawable. The returned value is one of the abstract format constants in PixelFormat: UNKNOWN, TRANSLUCENT, TRANSPARENT, or OPAQUE.

An OPAQUE drawable is one that draws all all content within its bounds, completely covering anything behind the drawable. A TRANSPARENT drawable is one that draws nothing within its bounds, allowing everything behind it to show through. A TRANSLUCENT drawable is a drawable in any other state, where the drawable will draw some, but not all, of the content within its bounds and at least some content behind the drawable will be visible. If the visibility of the drawable's contents cannot be determined, the safest/best return value is TRANSLUCENT.

Generally a Drawable should be as conservative as possible with the value it returns. For example, if it contains multiple child drawables and only shows one of them at a time, if only one of the children is TRANSLUCENT and the others are OPAQUE then TRANSLUCENT should be returned. You can use the method resolveOpacity(int, int) to perform a standard reduction of two opacities to the appropriate single output.

Note that the returned value does not necessarily take into account a custom alpha or color filter that has been applied by the client through the setAlpha(int) or setColorFilter(ColorFilter) methods. Some subclasses, such as BitmapDrawable, ColorDrawable, and GradientDrawable, do account for the value of setAlpha(int), but the general behavior is dependent upon the implementation of the subclass.

Returns
  • int The opacity class of the Drawable.

public Picture getPicture ()

Added in API level 1

Return the picture associated with the drawable. May be null.

Returns
  • the picture associated with the drawable, or null.

public void setAlpha (int alpha)

Added in API level 1

Specify an alpha value for the drawable. 0 means fully transparent, and 255 means fully opaque.

public void setColorFilter (ColorFilter colorFilter)

Added in API level 1

Specify an optional color filter for the drawable.

If a Drawable has a ColorFilter, each output pixel of the Drawable's drawing contents will be modified by the color filter before it is blended onto the render target of a Canvas.

Pass null to remove any existing color filter.

Note: Setting a non-null color filter disables tint.

Parameters
colorFilter The color filter to apply, or null to remove the existing color filter

public void setPicture (Picture picture)

Added in API level 1

Associate a picture with this drawable. The picture may be null.

Parameters
picture The picture to associate with the drawable. May be null.