public class RefreshDrawable extends DrawableWrapper implements android.graphics.drawable.Animatable
CircularProgressDrawable
into the one drawable which can be used to show indicator for running refresh operation for some
collection view like ListView
or GridView
at its
top edge.
All necessary methods of the CircularProgressDrawable are delegated by this RefreshDrawable class to support some customization of the progress drawable, like its thickness, radius, colors and more.
Constructor and Description |
---|
RefreshDrawable()
Creates a new instance of RefreshDrawable to wrap
CircularProgressDrawable and
background drawable into one drawable. |
Modifier and Type | Method and Description |
---|---|
void |
draw(android.graphics.Canvas canvas) |
android.graphics.drawable.Drawable |
getBackground()
Returns the background of this refresh drawable.
|
android.graphics.drawable.Drawable |
getCurrent()
Returns this drawable instance.
|
android.graphics.drawable.Drawable |
getDrawable()
This is not supported operation.
|
int |
getIntrinsicHeight() |
int |
getIntrinsicWidth() |
int |
getProgress()
Delegate method for
ProgressDrawable.getProgress() . |
int |
getProgressAlpha()
Delegate method for
ProgressDrawable.getAlpha() . |
float |
getProgressArrowScale()
Delegate method for
CircularProgressDrawable.getArrowScale() . |
int |
getProgressColor()
Delegate method for
ProgressDrawable.getColor() . |
int[] |
getProgressColors()
Delegate method for
ProgressDrawable.getColors() . |
float |
getProgressIndeterminateSpeed()
Delegate method for
ProgressDrawable.getIndeterminateSpeed() . |
int |
getProgressMode()
Delegate method for
CircularProgressDrawable.getMode() . |
int |
getProgressRadius()
Returns radius of the progress arc.
|
float |
getProgressRotation()
Delegate method for
CircularProgressDrawable.getRotation() . |
float |
getProgressThickness()
Delegate method for
ProgressDrawable.getThickness() . |
boolean |
isInEditMode()
Returns flag indicating whether this drawable draws its graphics in edit mode or not.
|
boolean |
isProgressArrowVisible()
Delegate method for
CircularProgressDrawable.isArrowVisible() . |
boolean |
isProgressMultiColored()
Delegate method for
ProgressDrawable.isMultiColored() . |
boolean |
isProgressRounded()
Delegate method for
ProgressDrawable.isRounded() . |
boolean |
isRunning()
Delegate method for
ProgressDrawable.isRunning() . |
protected void |
onBoundsChange(android.graphics.Rect bounds) |
void |
setAlpha(int alpha) |
void |
setBackground(android.graphics.drawable.Drawable background)
Sets the background for this refresh drawable.
|
void |
setInEditMode(boolean inEditMode)
Sets a boolean flag determining whether this drawable should draw its graphics in edit (preview)
mode or not.
|
void |
setProgress(int progress)
Delegate method for
ProgressDrawable.setProgress(int) . |
void |
setProgressAlpha(int alpha)
Delegate method for
ProgressDrawable.setAlpha(int) . |
void |
setProgressArrowScale(float scale)
Delegate method for
CircularProgressDrawable.setArrowScale(float) . |
void |
setProgressArrowVisible(boolean visible)
Delegate method for
CircularProgressDrawable.setArrowVisible(boolean) . |
void |
setProgressColor(int color)
Delegate method for
ProgressDrawable.setColor(int) . |
void |
setProgressColors(int[] colors)
Delegate method for
ProgressDrawable.setColors(int[]) . |
void |
setProgressIndeterminateSpeed(float speed)
Delegate method for
ProgressDrawable.setIndeterminateSpeed(float) . |
void |
setProgressMode(int mode)
Delegate method for
CircularProgressDrawable.setMode(int) . |
void |
setProgressMultiColored(boolean multiColored)
Delegate method for
ProgressDrawable.setMultiColored(boolean) . |
void |
setProgressRadius(int radius)
Sets the radius of the progress arc.
|
void |
setProgressRotation(float rotation)
Delegate method for
CircularProgressDrawable.setRotation(float) . |
void |
setProgressRounded(boolean rounded)
Delegate method for
ProgressDrawable.setRounded(boolean) . |
void |
setProgressThickness(float thickness)
Delegate method for
ProgressDrawable.setThickness(float) . |
void |
start()
Delegate method for
ProgressDrawable.start() . |
void |
stop()
Delegate method for
ProgressDrawable.stop() . |
void |
stopImmediate()
Delegate method for
ProgressDrawable.stopImmediate() . |
applyTheme, attachCallback, canApplyTheme, getAlpha, getChangingConfigurations, getColorFilter, getConstantState, getDirtyBounds, getHotspotBounds, getMinimumHeight, getMinimumWidth, getOpacity, getOutline, getPadding, getTransparentRegion, inflate, inflate, invalidateDrawable, isAutoMirrored, isFilterBitmap, isStateful, jumpToCurrentState, mutate, onLayoutDirectionChanged, onLevelChange, onStateChange, scheduleDrawable, setAutoMirrored, setChangingConfigurations, setColorFilter, setDither, setFilterBitmap, setHotspot, setHotspotBounds, setTint, setTintList, setTintMode, setVisible, unscheduleDrawable
clearColorFilter, copyBounds, copyBounds, createFromPath, createFromResourceStream, createFromResourceStream, createFromStream, createFromXml, createFromXml, createFromXmlInner, createFromXmlInner, getBounds, getCallback, getLayoutDirection, getLevel, getOpticalInsets, getState, invalidateSelf, isProjected, isVisible, resolveOpacity, scheduleSelf, setBounds, setBounds, setCallback, setColorFilter, setLayoutDirection, setLevel, setState, setTintBlendMode, unscheduleSelf
public RefreshDrawable()
CircularProgressDrawable
and
background drawable into one drawable.public final void setInEditMode(boolean inEditMode)
inEditMode
- True
to draw graphics in edit mode, false
otherwise.isInEditMode()
,
View.isInEditMode()
public final boolean isInEditMode()
True
if graphics is drawn in edit (preview) mode, false
otherwise.public void draw(android.graphics.Canvas canvas)
draw
in class DrawableWrapper
public void start()
ProgressDrawable.start()
.start
in interface android.graphics.drawable.Animatable
public void stop()
ProgressDrawable.stop()
.stop
in interface android.graphics.drawable.Animatable
public void stopImmediate()
ProgressDrawable.stopImmediate()
.public boolean isRunning()
ProgressDrawable.isRunning()
.isRunning
in interface android.graphics.drawable.Animatable
@NonNull public android.graphics.drawable.Drawable getCurrent()
getCurrent
in class DrawableWrapper
@NonNull public android.graphics.drawable.Drawable getDrawable()
getDrawable
in class DrawableWrapper
UnsupportedOperationException
public void setBackground(@Nullable android.graphics.drawable.Drawable background)
background
- The desired background.@Nullable public android.graphics.drawable.Drawable getBackground()
null
if this refresh drawable does not have background
set.public int getIntrinsicWidth()
getIntrinsicWidth
in class DrawableWrapper
public int getIntrinsicHeight()
getIntrinsicHeight
in class DrawableWrapper
public void setAlpha(int alpha)
setAlpha
in class DrawableWrapper
public void setProgressAlpha(int alpha)
ProgressDrawable.setAlpha(int)
.public void setProgressRadius(@Px int radius)
radius
- The desired radius.getProgressRadius()
@Px public int getProgressRadius()
setProgressRadius(int)
public int getProgressAlpha()
ProgressDrawable.getAlpha()
.public void setProgressMode(int mode)
CircularProgressDrawable.setMode(int)
.getProgressMode()
public int getProgressMode()
CircularProgressDrawable.getMode()
.setProgressMode(int)
public void setProgress(int progress)
ProgressDrawable.setProgress(int)
.getProgress()
public int getProgress()
ProgressDrawable.getProgress()
.setProgress(int)
public void setProgressRotation(float rotation)
CircularProgressDrawable.setRotation(float)
.getProgressRotation()
public float getProgressRotation()
CircularProgressDrawable.getRotation()
.setProgressRotation(float)
public void setProgressThickness(float thickness)
ProgressDrawable.setThickness(float)
.getProgressThickness()
public float getProgressThickness()
ProgressDrawable.getThickness()
.setProgressThickness(float)
public void setProgressColor(int color)
ProgressDrawable.setColor(int)
.getProgressColor()
public int getProgressColor()
ProgressDrawable.getColor()
.setProgressColor(int)
public void setProgressColors(int[] colors)
ProgressDrawable.setColors(int[])
.getProgressColors()
public int[] getProgressColors()
ProgressDrawable.getColors()
.setProgressColors(int[])
public void setProgressMultiColored(boolean multiColored)
ProgressDrawable.setMultiColored(boolean)
.isProgressMultiColored()
public boolean isProgressMultiColored()
ProgressDrawable.isMultiColored()
.setProgressMultiColored(boolean)
public void setProgressRounded(boolean rounded)
ProgressDrawable.setRounded(boolean)
.isProgressRounded()
public boolean isProgressRounded()
ProgressDrawable.isRounded()
.setProgressRounded(boolean)
public void setProgressArrowVisible(boolean visible)
CircularProgressDrawable.setArrowVisible(boolean)
.isProgressArrowVisible()
public boolean isProgressArrowVisible()
CircularProgressDrawable.isArrowVisible()
.setProgressArrowVisible(boolean)
public void setProgressArrowScale(float scale)
CircularProgressDrawable.setArrowScale(float)
.getProgressArrowScale()
public float getProgressArrowScale()
CircularProgressDrawable.getArrowScale()
.setProgressArrowScale(float)
public void setProgressIndeterminateSpeed(float speed)
ProgressDrawable.setIndeterminateSpeed(float)
.getProgressIndeterminateSpeed()
public float getProgressIndeterminateSpeed()
ProgressDrawable.getIndeterminateSpeed()
.setProgressIndeterminateSpeed(float)
protected void onBoundsChange(android.graphics.Rect bounds)
onBoundsChange
in class DrawableWrapper