ShapeDrawable
open class ShapeDrawable : Drawable
kotlin.Any | ||
↳ | android.graphics.drawable.Drawable | |
↳ | android.graphics.drawable.ShapeDrawable |
A Drawable object that draws primitive shapes. A ShapeDrawable takes a android.graphics.drawable.shapes.Shape
object and manages its presence on the screen. If no Shape is given, then the ShapeDrawable will default to a android.graphics.drawable.shapes.RectShape
.
This object can be defined in an XML file with the <shape>
element.
Summary
Nested classes | |
---|---|
abstract |
Base class defines a factory object that is called each time the drawable is resized (has a new width or height). |
XML attributes | |
---|---|
android:bottom |
Bottom padding. |
android:color |
Defines the color of the shape. |
android:height |
Defines the height of the shape. |
android:left |
Left padding. |
android:right |
Right padding. |
android:top |
Top padding. |
android:width |
Defines the width of the shape. |
Public constructors | |
---|---|
ShapeDrawable constructor. |
|
ShapeDrawable(s: Shape!) Creates a ShapeDrawable with a specified Shape. |
Public methods | |
---|---|
open Unit | |
open Unit | |
open Int |
getAlpha() |
open Int |
Return a mask of the configuration parameters for which this drawable may change, requiring that it be re-created. |
open Drawable.ConstantState? | |
open Int | |
open Int | |
open Int | |
open Unit |
getOutline(outline: Outline) |
open Boolean |
getPadding(padding: Rect) |
open Paint! |
getPaint() Returns the Paint used to draw the shape. |
open ShapeDrawable.ShaderFactory! |
Returns the ShaderFactory used by this ShapeDrawable for requesting a |
open Shape! |
getShape() Returns the Shape of this ShapeDrawable. |
open Boolean | |
open Unit |
inflate(r: Resources, parser: XmlPullParser, attrs: AttributeSet, theme: Resources.Theme?) |
open Boolean | |
open Drawable |
mutate() |
open Unit |
Set the alpha level for this drawable [0. |
open Unit |
setColorFilter(colorFilter: ColorFilter?) |
open Unit | |
open Unit |
setIntrinsicHeight(height: Int) Sets the intrinsic (default) height for this shape. |
open Unit |
setIntrinsicWidth(width: Int) Sets the intrinsic (default) width for this shape. |
open Unit |
setPadding(left: Int, top: Int, right: Int, bottom: Int) Sets padding for the shape. |
open Unit |
setPadding(padding: Rect!) Sets padding for this shape, defined by a Rect object. |
open Unit |
Sets a ShaderFactory to which requests for a |
open Unit |
Sets the Shape of this ShapeDrawable. |
open Unit |
setTintBlendMode(blendMode: BlendMode!) Specifies a tint blending mode for this drawable. |
open Unit |
setTintList(tint: ColorStateList?) |
Protected methods | |
---|---|
open Boolean |
inflateTag(name: String!, r: Resources!, parser: XmlPullParser!, attrs: AttributeSet!) Subclasses override this to parse custom subelements. |
open Unit |
onBoundsChange(bounds: Rect) |
open Unit |
Called from the drawable's draw() method after the canvas has been set to draw the shape at (0,0). |
open Boolean |
onStateChange(stateSet: IntArray) |
Inherited functions | |
---|---|
XML attributes
android:bottom
android:bottom
Bottom padding.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).
android:color
android:color
Defines the color of the shape.
May be a color value, in the form of "rgb
", "argb
", "rrggbb
", or "aarrggbb
".
android:height
android:height
Defines the height of the shape.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).
android:left
android:left
Left padding.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).
android:right
android:right
Right padding.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).
android:top
android:top
Top padding.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).
android:width
android:width
Defines the width of the shape.
May be a dimension value, which is a floating point number appended with a unit such as "14.5sp
". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), and mm (millimeters).
Public constructors
ShapeDrawable
ShapeDrawable(s: Shape!)
Creates a ShapeDrawable with a specified Shape.
Parameters | |
---|---|
s |
Shape!: the Shape that this ShapeDrawable should be |
Public methods
applyTheme
open fun applyTheme(t: Resources.Theme): Unit
Parameters | |
---|---|
t |
Resources.Theme: the theme to apply This value cannot be null . |
draw
open fun draw(canvas: Canvas): Unit
Parameters | |
---|---|
canvas |
Canvas: The canvas to draw into This value cannot be null . |
getAlpha
open fun getAlpha(): Int
Return | |
---|---|
Int |
Value is between 0 and 255 inclusive |
getChangingConfigurations
open fun getChangingConfigurations(): Int
Return a mask of the configuration parameters for which this drawable may 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.
getConstantState
open fun getConstantState(): Drawable.ConstantState?
Return | |
---|---|
Drawable.ConstantState? |
The ConstantState associated to that Drawable. This value may be null . |
getIntrinsicHeight
open fun getIntrinsicHeight(): Int
Return | |
---|---|
Int |
the intrinsic height, or -1 if no intrinsic height |
getIntrinsicWidth
open fun getIntrinsicWidth(): Int
Return | |
---|---|
Int |
the intrinsic width, or -1 if no intrinsic width |
getOpacity
open fun getOpacity(): Int
Return | |
---|---|
Int |
int The opacity class of the Drawable. Value is android.graphics.PixelFormat#UNKNOWN , android.graphics.PixelFormat#TRANSLUCENT , android.graphics.PixelFormat#TRANSPARENT , or android.graphics.PixelFormat#OPAQUE |
getOutline
open fun getOutline(outline: Outline): Unit
Parameters | |
---|---|
outline |
Outline: This value cannot be null . |
getPadding
open fun getPadding(padding: Rect): Boolean
Parameters | |
---|---|
padding |
Rect: This value cannot be null . |
Return | |
---|---|
Boolean |
true if this drawable actually has a padding, else false. When false is returned, the padding is always set to 0. |
getShaderFactory
open fun getShaderFactory(): ShapeDrawable.ShaderFactory!
Returns the ShaderFactory used by this ShapeDrawable for requesting a android.graphics.Shader
.
hasFocusStateSpecified
open fun hasFocusStateSpecified(): Boolean
Return | |
---|---|
Boolean |
true if android.R.attr#state_focused is specified for this drawable. |
inflate
open fun inflate(
r: Resources,
parser: XmlPullParser,
attrs: AttributeSet,
theme: Resources.Theme?
): Unit
Parameters | |
---|---|
r |
Resources: Resources used to resolve attribute values This value cannot be null . |
parser |
XmlPullParser: XML parser from which to inflate this Drawable This value cannot be null . |
attrs |
AttributeSet: Base set of attribute values This value cannot be null . |
theme |
Resources.Theme?: Theme to apply, may be null |
Exceptions | |
---|---|
org.xmlpull.v1.XmlPullParserException |
|
java.io.IOException |
isStateful
open fun isStateful(): Boolean
Return | |
---|---|
Boolean |
True if this drawable changes its appearance based on state, false otherwise. |
mutate
open fun mutate(): Drawable
Return | |
---|---|
Drawable |
This drawable. This value cannot be null . |
setAlpha
open fun setAlpha(alpha: Int): Unit
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).
Parameters | |
---|---|
alpha |
Int: Value is between 0 and 255 inclusive |
setColorFilter
open fun setColorFilter(colorFilter: ColorFilter?): Unit
Parameters | |
---|---|
colorFilter |
ColorFilter?: The color filter to apply, or null to remove the existing color filter |
setIntrinsicHeight
open fun setIntrinsicHeight(height: Int): Unit
Sets the intrinsic (default) height for this shape.
Parameters | |
---|---|
height |
Int: the intrinsic height (in pixels) |
setIntrinsicWidth
open fun setIntrinsicWidth(width: Int): Unit
Sets the intrinsic (default) width for this shape.
Parameters | |
---|---|
width |
Int: the intrinsic width (in pixels) |
setPadding
open fun setPadding(
left: Int,
top: Int,
right: Int,
bottom: Int
): Unit
Sets padding for the shape.
Parameters | |
---|---|
left |
Int: padding for the left side (in pixels) |
top |
Int: padding for the top (in pixels) |
right |
Int: padding for the right side (in pixels) |
bottom |
Int: padding for the bottom (in pixels) |
setPadding
open fun setPadding(padding: Rect!): Unit
Sets padding for this shape, defined by a Rect object. Define the padding in the Rect object as: left, top, right, bottom.
setShaderFactory
open fun setShaderFactory(fact: ShapeDrawable.ShaderFactory!): Unit
Sets a ShaderFactory to which requests for a android.graphics.Shader
object will be made.
Parameters | |
---|---|
fact |
ShapeDrawable.ShaderFactory!: an instance of your ShaderFactory implementation |
setShape
open fun setShape(s: Shape!): Unit
Sets the Shape of this ShapeDrawable.
setTintBlendMode
open fun setTintBlendMode(blendMode: BlendMode!): Unit
Specifies a tint blending mode for this drawable.
Defines how this drawable's tint color should be blended into the drawable before it is drawn to screen. Default tint mode is BlendMode#SRC_IN
.
Note: Setting a color filter via setColorFilter(android.graphics.ColorFilter)
Parameters | |
---|---|
blendMode |
BlendMode!: This value cannot be null . |
setTintList
open fun setTintList(tint: ColorStateList?): Unit
Parameters | |
---|---|
tint |
ColorStateList?: Color state list to use for tinting this drawable, or null to clear the tint |
Protected methods
inflateTag
protected open fun inflateTag(
name: String!,
r: Resources!,
parser: XmlPullParser!,
attrs: AttributeSet!
): Boolean
Subclasses override this to parse custom subelements. If you handle it, return true, else return super.inflateTag(...).
onBoundsChange
protected open fun onBoundsChange(bounds: Rect): Unit
Parameters | |
---|---|
bounds |
Rect: This value cannot be null . |
onDraw
protected open fun onDraw(
shape: Shape!,
canvas: Canvas!,
paint: Paint!
): Unit
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.
onStateChange
protected open fun onStateChange(stateSet: IntArray): Boolean
Parameters | |
---|---|
state |
This value cannot be null . |
Return | |
---|---|
Boolean |
Returns true if the state 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 state. |