English | Site Directory

Android - An Open Handset Alliance Project

android.graphics.drawable.PaintDrawable

java.lang.Object
android.graphics.drawable.Drawable
android.graphics.drawable.PaintDrawable

Drawable that draws its bounds in the given paint, with optional rounded corners.

Summary

Public Constructors

          PaintDrawable()
          PaintDrawable(int color)
          PaintDrawable(Paint p)

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.
        boolean  getPadding(Rect padding)
Return in padding the insets suggested by this Drawable for placing content inside the drawable's bounds.
        Paint  getPaint()
        void  inflate(Resources r, XmlPullParser parser, AttributeSet attrs)
        void  setAlpha(int alpha)
Specify an alpha value for the drawable.
        void  setColor(int color)
Helper to edit/create the paint's color
        void  setColorFilter(ColorFilter cf)
Specify an optional colorFilter for the drawable.
        void  setCornerRadii(float[] radii)
Specify radii for each of the 4 corners.
        void  setCornerRadius(float radius)
Specify radius for the corners of the rectangle.
        void  setDither(boolean dither)
        void  setPaint(Paint p)
Methods inherited from class android.graphics.drawable.Drawable
Methods inherited from class java.lang.Object

Details

Public Constructors

public PaintDrawable()

public PaintDrawable(int color)

public PaintDrawable(Paint p)

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

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

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

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

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 take into account a custom alpha or color filter that has been applied by the client through the setAlpha(int) or setColorFilter(ColorFilter) methods.

public boolean getPadding(Rect padding)

Return in padding the insets suggested by this Drawable for placing content inside the drawable's bounds. Positive values move toward the center of the Drawable (set Rect.inset). Returns true if this drawable actually has a padding, else false. When false is returned, the padding is always set to 0.

public Paint getPaint()

public void inflate(Resources r, XmlPullParser parser, AttributeSet attrs)

Throws

XmlPullParserException
IOException

public void setAlpha(int alpha)

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

public void setColor(int color)

Helper to edit/create the paint's color

Parameters

color the paint's color

public void setColorFilter(ColorFilter cf)

Specify an optional colorFilter for the drawable. Pass null to remove any filters.

public void setCornerRadii(float[] radii)

Specify radii for each of the 4 corners. For each corner, the array contains 2 values, [X_radius, Y_radius]. The corners are ordered top-left, top-right, bottom-right, bottom-left

Parameters

radii the x and y radii of the corners

public void setCornerRadius(float radius)

Specify radius for the corners of the rectangle. If this is > 0, then the drawable is drawn in a round-rectangle, rather than a rectangle.

Parameters

radius the radius for the corners of the rectangle

public void setDither(boolean dither)

public void setPaint(Paint p)

Build m5-rc15g - 14 May 2008 12:50