android.graphics.drawable.ShapeDrawable
An object that draws primitive shapes.
A ShapeDrawable takes a Shape
object and manages its presence on the screen. If no Shape is given, then
the ShapeDrawable will default to a
RectShape.
Nested Classes
ShapeDrawable.ShaderFactory |
Base class defines a factory object that is called each time the drawable
is resized (has a new width or height). |
Known Direct Subclasses
PaintDrawable |
Drawable that draws its bounds in the given paint, with optional
rounded corners. |
Summary
Public Constructors
Public Methods
Protected Methods
clearColorFilter,
copyBounds,
copyBounds,
createFromPath,
createFromStream,
createFromXml,
createFromXmlInner,
draw,
getBounds,
getChangingConfigurations,
getConstantState,
getCurrent,
getIntrinsicHeight,
getIntrinsicWidth,
getLevel,
getMinimumHeight,
getMinimumWidth,
getOpacity,
getPadding,
getState,
getTransparentRegion,
inflate,
invalidateSelf,
isStateful,
isVisible,
onBoundsChange,
onLevelChange,
onStateChange,
resolveOpacity,
scheduleSelf,
setAlpha,
setBounds,
setBounds,
setCallback,
setChangingConfigurations,
setColorFilter,
setColorFilter,
setDither,
setFilterBitmap,
setLevel,
setState,
setVisible,
unscheduleSelf
|
|
|
|
|
void |
clearColorFilter() |
|
|
final |
|
|
Rect |
copyBounds() |
|
|
final |
|
|
void |
copyBounds(Rect bounds) |
|
|
|
static |
|
Drawable |
createFromPath(String pathName) |
|
|
|
static |
|
Drawable |
createFromStream(InputStream is, String srcName) |
|
|
|
static |
|
Drawable |
createFromXml(Resources r, XmlPullParser parser) |
|
|
|
static |
|
Drawable |
createFromXmlInner(Resources r, XmlPullParser parser, AttributeSet attrs) |
abstract |
|
|
|
|
void |
draw(Canvas canvas) |
|
|
final |
|
|
Rect |
getBounds() |
|
|
|
|
|
int |
getChangingConfigurations() |
|
|
|
|
|
Drawable.ConstantState |
getConstantState() |
|
|
|
|
|
Drawable |
getCurrent() |
|
|
|
|
|
int |
getIntrinsicHeight() |
|
|
|
|
|
int |
getIntrinsicWidth() |
|
|
final |
|
|
int |
getLevel() |
|
|
|
|
|
int |
getMinimumHeight() |
|
|
|
|
|
int |
getMinimumWidth() |
abstract |
|
|
|
|
int |
getOpacity() |
|
|
|
|
|
boolean |
getPadding(Rect padding) |
|
|
|
|
|
int[] |
getState() |
|
|
|
|
|
Region |
getTransparentRegion() |
|
|
|
|
|
void |
inflate(Resources r, XmlPullParser parser, AttributeSet attrs) |
|
|
|
|
|
void |
invalidateSelf() |
|
|
|
|
|
boolean |
isStateful() |
|
|
final |
|
|
boolean |
isVisible() |
|
|
|
|
|
void |
onBoundsChange(Rect bounds) |
|
|
|
|
|
boolean |
onLevelChange(int level) |
|
|
|
|
|
boolean |
onStateChange(int[] state) |
|
|
|
static |
|
int |
resolveOpacity(int op1, int op2) |
|
|
|
|
|
void |
scheduleSelf(Runnable what, long when) |
abstract |
|
|
|
|
void |
setAlpha(int alpha) |
|
|
|
|
|
void |
setBounds(Rect bounds) |
|
|
|
|
|
void |
setBounds(int left, int top, int right, int bottom) |
|
|
final |
|
|
void |
setCallback(Drawable.Callback cb) |
|
|
|
|
|
void |
setChangingConfigurations(int configs) |
abstract |
|
|
|
|
void |
setColorFilter(ColorFilter cf) |
|
|
|
|
|
void |
setColorFilter(int color, PorterDuff.Mode mode) |
|
|
|
|
|
void |
setDither(boolean dither) |
|
|
|
|
|
void |
setFilterBitmap(boolean filter) |
|
|
final |
|
|
boolean |
setLevel(int level) |
|
|
|
|
|
boolean |
setState(int[] stateSet) |
|
|
|
|
|
boolean |
setVisible(boolean visible, boolean restart) |
|
|
|
|
|
void |
unscheduleSelf(Runnable what) |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Public Constructors
public
ShapeDrawable()
ShapeDrawable constructor.
public
ShapeDrawable(Shape s)
Creates a ShapeDrawable with a specified Shape.
Parameters
s
| the Shape that this ShapeDrawable should be
|
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
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
Paint
getPaint()
Returns the Paint used to draw the shape.
Returns the ShaderFactory used by this ShapeDrawable for requesting a
Shader.
public
Shape
getShape()
Returns the Shape of this ShapeDrawable.
public
void
setAlpha(int alpha)
Set the alpha level for this drawable [0..255]. Note that this drawable
also has a color in its paint, which has an alpha as well. These two
values are automatically combined during drawing. Thus if the color's
alpha is 75% (i.e. 192) and the drawable's alpha is 50% (i.e. 128), then
the combined alpha that will be used during drawing will be 37.5%
(i.e. 96).
public
void
setColorFilter(ColorFilter cf)
Specify an optional colorFilter for the drawable. Pass null to remove
any filters.
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
setIntrinsicHeight(int height)
Sets the intrinsic (default) height for this shape.
Parameters
height
| the intrinsic height (in pixels)
|
public
void
setIntrinsicWidth(int width)
Sets the intrinsic (default) width for this shape.
Parameters
width
| the intrinsic width (in pixels)
|
public
void
setPadding(int left, int top, int right, int bottom)
Sets padding for the shape.
Parameters
left
| padding for the left side (in pixels) |
top
| padding for the top (in pixels) |
right
| padding for the right side (in pixels) |
bottom
| padding for the bottom (in pixels)
|
public
void
setPadding(Rect padding)
Sets padding for this shape, defined by a Rect object.
Define the padding in the Rect object as: left, top, right, bottom.
Sets a ShaderFactory to which requests for a
Shader object will be made.
Parameters
fact
| an instance of your ShaderFactory implementation
|
public
void
setShape(Shape s)
Sets the Shape of this ShapeDrawable.
Protected Methods
protected
boolean
inflateTag(String name, Resources r, XmlPullParser parser, AttributeSet attrs)
Subclasses override this to parse custom subelements.
If you handle it, return true, else return super.inflateTag(...).
protected
void
onBoundsChange(Rect bounds)
Override this in your subclass to change appearance if you recognize the
specified state.
protected
void
onDraw(Shape shape, Canvas canvas, Paint paint)
Called from the drawable's draw() method after the canvas has been set
to draw the shape at (0,0). Subclasses can override for special effects
such as multiple layers, stroking, etc.