Android

android.graphics.drawable.GradientDrawable

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

A simple color gradient for buttons, backgrounds, etc. See Gradient in the Resources topic to learn how to specify this type as an XML resource.

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

Summary

Constants

      Value  
int  LINE  Shape is a line   0x00000002 
int  LINEAR_GRADIENT  Gradient is linear (default.)   0x00000000 
int  OVAL  Shape is an ellipse   0x00000001 
int  RADIAL_GRADIENT  Gradient is circular.  0x00000001 
int  RECTANGLE  Shape is a rectangle, possibly with rounded corners   0x00000000 
int  RING  Shape is a ring.  0x00000003 
int  SWEEP_GRADIENT  Gradient is a sweep.  0x00000002 

Public Constructors

            GradientDrawable()
            GradientDrawable(GradientDrawable.Orientation orientation, int[] colors)
Create a new gradient drawable given an orientation and an array of colors for the gradient.

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  getChangingConfigurations()
Return a mask of the configuration parameters for which this drawable mau change, requiring that it be re-created.
          Drawable.ConstantState  getConstantState()
          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.
          void  inflate(Resources r, XmlPullParser parser, AttributeSet attrs)
          void  setAlpha(int alpha)
Specify an alpha value for the drawable.
          void  setColor(int argb)
          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 gradient.
          void  setDither(boolean dither)
Set to true to have the drawable dither its colors when drawn to a device with fewer than 8-bits per color component.
          void  setGradientCenter(float x, float y)
          void  setGradientRadius(float gradientRadius)
          void  setGradientType(int gradient)
          void  setShape(int shape)
          void  setSize(int width, int height)
          void  setStroke(int width, int color, float dashWidth, float dashGap)
          void  setStroke(int width, int color)
Set the stroke width and color for the drawable.
          void  setUseLevel(boolean useLevel)

Protected Methods

          void  onBoundsChange(Rect r)
Override this in your subclass to change appearance if you recognize the specified state.
          boolean  onLevelChange(int level)
Override this in your subclass to change appearance if you vary based on level.
Methods inherited from class android.graphics.drawable.Drawable
Methods inherited from class java.lang.Object

Details

Constants

public static final int LINE

Shape is a line
Constant Value: 2 (0x00000002)

public static final int LINEAR_GRADIENT

Gradient is linear (default.)
Constant Value: 0 (0x00000000)

public static final int OVAL

Shape is an ellipse
Constant Value: 1 (0x00000001)

public static final int RADIAL_GRADIENT

Gradient is circular.
Constant Value: 1 (0x00000001)

public static final int RECTANGLE

Shape is a rectangle, possibly with rounded corners
Constant Value: 0 (0x00000000)

public static final int RING

Shape is a ring.
Constant Value: 3 (0x00000003)

public static final int SWEEP_GRADIENT

Gradient is a sweep.
Constant Value: 2 (0x00000002)

Public Constructors

public GradientDrawable()

public GradientDrawable(GradientDrawable.Orientation orientation, int[] colors)

Create a new gradient drawable given an orientation and an array of colors for the gradient.

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

Return a mask of the configuration parameters for which this drawable mau change, requiring that it be re-created. The default implementation returns whatever was provided through setChangingConfigurations(int) or 0 by default. Subclasses may extend this to or in the changing configurations of any other drawables they hold.

Returns

  • Returns a mask of the changing configuration parameters, as defined by Configuration.

public Drawable.ConstantState getConstantState()

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.

Returns

  • int The opacity class of the Drawable.

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

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

public void setCornerRadius(float radius)

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

public void setDither(boolean dither)

Set to true to have the drawable dither its colors when drawn to a device with fewer than 8-bits per color component. This can improve the look on those devices, but can also slow down the drawing a little.

public void setGradientCenter(float x, float y)

public void setGradientRadius(float gradientRadius)

public void setGradientType(int gradient)

public void setShape(int shape)

public void setSize(int width, int height)

public void setStroke(int width, int color, float dashWidth, float dashGap)

public void setStroke(int width, int color)

Set the stroke width and color for the drawable. If width is zero, then no stroke is drawn.

public void setUseLevel(boolean useLevel)

Protected Methods

protected void onBoundsChange(Rect r)

Override this in your subclass to change appearance if you recognize the specified state.

protected boolean onLevelChange(int level)

Override this in your subclass to change appearance if you vary based on level.

Returns

  • Returns true if the level change has caused the appearance of the Drawable to change (that is, it needs to be drawn), else false if it looks the same and there is no need to redraw it since its last level.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48