android drawable 接口,Drawable - Android SDK | Android Developers

Nested Classes

interface

Implement this interface if you want to create an animated drawable that

extends

class

This abstract class is used by

Public Constructors

Public Methods

final

Rect

Return a copy of the drawable's bounds in a new Rect.

final

void

Return a copy of the drawable's bounds in the specified Rect (allocated

by the caller).

Create a drawable from file path name.

Create a drawable from an inputstream, using the given resources and

value to determine density information.

Create a drawable from an inputstream, using the given resources and

value to determine density information.

Create a drawable from an inputstream

Create a drawable from an XML document.

abstract

void

Draw in its bounds (set via setBounds) respecting optional effects such

as alpha (set via setAlpha) and color filter (set via setColorFilter).

final

Rect

Return the drawable's bounds Rect.

Return the current

int

Return a mask of the configuration parameters for which this drawable

may change, requiring that it be re-created.

Return a

int

Return the intrinsic height of the underlying drawable object.

int

Return the intrinsic width of the underlying drawable object.

final

int

Retrieve the current level.

int

Returns the minimum height suggested by this Drawable.

int

Returns the minimum width suggested by this Drawable.

abstract

int

Return the opacity/transparency of this Drawable.

boolean

Return in padding the insets suggested by this Drawable for placing

content inside the drawable's bounds.

int[]

Describes the current state, as a union of primitve states, such as

Returns a Region representing the part of the Drawable that is completely

transparent.

void

Inflate this Drawable from an XML resource.

void

Use the current

boolean

Indicates whether this view will change its appearance based on state.

final

boolean

void

If this Drawable does transition animations between states, ask that

it immediately jump to the current state and skip any active animations.

Make this drawable mutable.

static

int

Return the appropriate opacity value for two source opacities.

void

Use the current

abstract

void

Specify an alpha value for the drawable.

void

Specify a bounding rectangle for the Drawable.

void

Specify a bounding rectangle for the Drawable.

final

void

void

Set a mask of the configuration parameters for which this drawable

may change, requiring that it be re-created.

abstract

void

Specify an optional colorFilter for the drawable.

void

Specify a color and porterduff mode to be the colorfilter for this

drawable.

void

Set to true to have the drawable dither its colors when drawn to a device

with fewer than 8-bits per color component.

void

Set to true to have the drawable filter its bitmap when scaled or rotated

(for drawables that use bitmaps).

final

boolean

Specify the level for the drawable.

boolean

Specify a set of states for the drawable.

boolean

Set whether this Drawable is visible.

void

Use the current

Protected Methods

void

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

specified state.

boolean

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

on level.

boolean

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

specified state.

[Expand]

Inherited Methods

2d13f62a916e8bedffda09b3e22cea19.png

From class

java.lang.Object

Creates and returns a copy of this Object.

boolean

Compares this instance with the specified object and indicates if they

are equal.

void

Invoked when the garbage collector has detected that this instance is no longer reachable.

final

Class>

Returns the unique instance of

int

Returns an integer hash code for this object.

final

void

Causes a thread which is waiting on this object's monitor (by means of

calling one of the wait() methods) to be woken up.

final

void

Causes all threads which are waiting on this object's monitor (by means

of calling one of the wait() methods) to be woken up.

Returns a string containing a concise, human-readable description of this

object.

final

void

Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.

final

void

Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the

specified timeout expires.

final

void

Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the

specified timeout expires.

Public Constructors

public

Drawable

()

Public Methods

public

void

clearColorFilter

()

public

final

Rect

copyBounds

()

Return a copy of the drawable's bounds in a new Rect. This returns the

same values as getBounds(), but the returned object is guaranteed to not

be changed later by the drawable (i.e. it retains no reference to this

rect). If the caller already has a Rect allocated, call copyBounds(rect).

Returns

A copy of the drawable's bounds

public

final

void

copyBounds

(Rect bounds)

Return a copy of the drawable's bounds in the specified Rect (allocated

by the caller). The bounds specify where this will draw when its draw()

method is called.

Parameters

boundsRect to receive the drawable's bounds (allocated by the

caller).

public

static

Drawable

createFromPath

(String pathName)

Create a drawable from file path name.

public

static

Drawable

createFromResourceStream

Create a drawable from an inputstream, using the given resources and

value to determine density information.

public

static

Drawable

createFromResourceStream

Create a drawable from an inputstream, using the given resources and

value to determine density information.

public

static

Drawable

createFromStream

Create a drawable from an inputstream

public

static

Drawable

createFromXml

Create a drawable from an XML document. For more information on how to

create resources in XML, see

Drawable Resources.

public

static

Drawable

createFromXmlInner

Create from inside an XML document. Called on a parser positioned at

a tag in an XML document, tries to create a Drawable from that tag.

Returns null if the tag is not a valid drawable.

public

abstract

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

canvasThe canvas to draw into

public

final

Rect

getBounds

()

Return the drawable's bounds Rect. Note: for efficiency, the returned

object may be the same object stored in the drawable (though this is not

guaranteed), so if a persistent copy of the bounds is needed, call

copyBounds(rect) instead.

You should also not change the object returned by this method as it may

be the same object stored in the drawable.

Returns

The bounds of the drawable (which may change later, so caller

beware). DO NOT ALTER the returned object as it may change the

stored bounds of this drawable.

getCallback

()

Return the current

Returns

A

public

int

getChangingConfigurations

()

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

Returns

Returns a mask of the changing configuration parameters, as

defined by

getConstantState

()

Return a

Returns

The ConstantState associated to that Drawable.

getCurrent

()

Returns

The current drawable that will be used by this drawable. For simple drawables, this

is just the drawable itself. For drawables that change state like

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

final

int

getLevel

()

Retrieve the current level.

Returns

int Current level, from 0 (minimum) to 10000 (maximum).

public

int

getMinimumHeight

()

Returns the minimum height suggested by this Drawable. If a View uses this

Drawable as a background, it is suggested that the View use at least this

value for its height. (There will be some scenarios where this will not be

possible.) This value should INCLUDE any padding.

Returns

The minimum height suggested by this Drawable. If this Drawable

doesn't have a suggested minimum height, 0 is returned.

public

int

getMinimumWidth

()

Returns the minimum width suggested by this Drawable. If a View uses this

Drawable as a background, it is suggested that the View use at least this

value for its width. (There will be some scenarios where this will not be

possible.) This value should INCLUDE any padding.

Returns

The minimum width suggested by this Drawable. If this Drawable

doesn't have a suggested minimum width, 0 is returned.

public

abstract

int

getOpacity

()

Return the opacity/transparency of this Drawable. The returned value is

one of the abstract format constants in

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

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

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

int[]

getState

()

Describes the current state, as a union of primitve states, such as

Returns

An array of resource Ids describing the current state.

public

Region

getTransparentRegion

()

Returns a Region representing the part of the Drawable that is completely

transparent. This can be used to perform drawing operations, identifying

which parts of the target will not change when rendering the Drawable.

The default implementation returns null, indicating no transparent

region; subclasses can optionally override this to return an actual

Region if they want to supply this optimization information, but it is

not required that they do so.

Returns

Returns null if the Drawables has no transparent region to

report, else a Region holding the parts of the Drawable's bounds that

are transparent.

public

void

inflate

Inflate this Drawable from an XML resource.

public

void

invalidateSelf

()

Use the current

public

boolean

isStateful

()

Indicates whether this view will change its appearance based on state.

Clients can use this to determine whether it is necessary to calculate

their state and call setState.

Returns

True if this view changes its appearance based on state, false

otherwise.

public

final

boolean

isVisible

()

public

void

jumpToCurrentState

()

If this Drawable does transition animations between states, ask that

it immediately jump to the current state and skip any active animations.

mutate

()

Make this drawable mutable. This operation cannot be reversed. A mutable

drawable is guaranteed to not share its state with any other drawable.

This is especially useful when you need to modify properties of drawables

loaded from resources. By default, all drawables instances loaded from

the same resource share a common state; if you modify the state of one

instance, all the other instances will receive the same modification.

Calling this method on a mutable Drawable will have no effect.

Returns

This drawable.

public

static

int

resolveOpacity

(int op1, int op2)

Return the appropriate opacity value for two source opacities. If

either is UNKNOWN, that is returned; else, if either is TRANSLUCENT,

that is returned; else, if either is TRANSPARENT, that is returned;

else, OPAQUE is returned.

This is to help in implementing

Parameters

op1One opacity value.

op2Another opacity value.

Returns

int The combined opacity value.

public

void

scheduleSelf

(Runnable what, long when)

Use the current

Parameters

whatThe action being scheduled.

whenThe time (in milliseconds) to run.

public

abstract

void

setAlpha

(int alpha)

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

255 means fully opaque.

public

void

setBounds

(int left, int top, int right, int bottom)

Specify a bounding rectangle for the Drawable. This is where the drawable

will draw when its draw() method is called.

public

void

setBounds

(Rect bounds)

Specify a bounding rectangle for the Drawable. This is where the drawable

will draw when its draw() method is called.

public

final

void

setCallback

Bind a

Parameters

cbThe client's Callback implementation.

public

void

setChangingConfigurations

(int configs)

Set a mask of the configuration parameters for which this drawable

may change, requiring that it be re-created.

Parameters

configsA mask of the changing configuration parameters, as

defined by

public

abstract

void

setColorFilter

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

any filters.

public

void

setColorFilter

(int color, PorterDuff.Mode mode)

Specify a color and porterduff mode to be the colorfilter for this

drawable.

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

setFilterBitmap

(boolean filter)

Set to true to have the drawable filter its bitmap when scaled or rotated

(for drawables that use bitmaps). If the drawable does not use bitmaps,

this call is ignored. This can improve the look when scaled or rotated,

but also slows down the drawing.

public

final

boolean

setLevel

(int level)

Specify the level for the drawable. This allows a drawable to vary its

imagery based on a continuous controller, for example to show progress

or volume level.

If the new level you are supplying causes the appearance of the

Drawable to change, then it is responsible for calling

and

true will be returned from this function.

Parameters

levelThe new level, from 0 (minimum) to 10000 (maximum).

Returns

Returns true if this change in level has caused the appearance

of the Drawable to change (hence requiring an invalidate), otherwise

returns false.

public

boolean

setState

(int[] stateSet)

Specify a set of states for the drawable. These are use-case specific,

so see the relevant documentation. As an example, the background for

widgets like Button understand the following states:

[

If the new state you are supplying causes the appearance of the

Drawable to change, then it is responsible for calling

and

true will be returned from this function.

Note: The Drawable holds a reference on to stateSet

until a new state array is given to it, so you must not modify this

array during that time.

Parameters

stateSetThe new set of states to be displayed.

Returns

Returns true if this change in state has caused the appearance

of the Drawable to change (hence requiring an invalidate), otherwise

returns false.

public

boolean

setVisible

(boolean visible, boolean restart)

Set whether this Drawable is visible. This generally does not impact

the Drawable's behavior, but is a hint that can be used by some

Drawables, for example, to decide whether run animations.

Parameters

visibleSet to true if visible, false if not.

restartYou can supply true here to force the drawable to behave

as if it has just become visible, even if it had last

been set visible. Used for example to force animations

to restart.

Returns

boolean Returns true if the new visibility is different than

its previous state.

public

void

unscheduleSelf

Use the current

Parameters

whatThe runnable that you no longer want called.

Protected Methods

protected

void

onBoundsChange

(Rect bounds)

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.

protected

boolean

onStateChange

(int[] state)

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

specified state.

Returns

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.

Except as noted, this content is licensed under Apache 2.0.

For details and restrictions, see the Content License.

Android 4.2 r1 —

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值