CircularProgressDrawable
public class CircularProgressDrawable extends Drawable implements Animatable
| java.lang.Object | ||
| ↳ | android.graphics.drawable.Drawable | |
| ↳ | androidx.swiperefreshlayout.widget.CircularProgressDrawable |
Drawable that renders the animated indeterminate progress indicator in the Material design style without depending on API level 11.
While this may be used to draw an indeterminate spinner using start and stop methods, this may also be used to draw a progress arc using setStartEndTrim method. CircularProgressDrawable also supports adding an arrow at the end of the arc by setArrowEnabled and setArrowDimensions methods.
To use one of the pre-defined sizes instead of using your own, setStyle should be called with one of the DEFAULT or LARGE styles as its parameter. Doing it so will update the arrow dimensions, ring size and stroke width to fit the one specified.
If no center radius is set via setCenterRadius or setStyle methods, CircularProgressDrawable will fill the bounds set via setBounds.
Summary
Constants |
|
|---|---|
static final int |
DEFAULT = 1Maps to ProgressBar default style. |
static final int |
LARGE = 0Maps to ProgressBar.Large style. |
Public constructors |
|---|
CircularProgressDrawable(@NonNull Context context) |
Public methods |
|
|---|---|
void |
|
int |
getAlpha() |
boolean |
Returns |
float |
Returns the arrow height in pixels. |
float |
Returns the scale of the arrow at the end of the spinner. |
float |
Returns the arrow width in pixels. |
int |
Returns the background color of the circle drawn inside the drawable. |
float |
Returns the center radius for the progress spinner in pixels. |
@NonNull int[] |
Returns the colors used in the progress animation |
float |
Returns the end trim for the progress spinner arc |
int |
This method is deprecated. |
float |
Returns the amount of rotation applied to the progress spinner. |
float |
Returns the start trim for the progress spinner arc |
@NonNull Paint.Cap |
Returns the stroke cap of the progress spinner. |
float |
Returns the stroke width for the progress spinner in pixels. |
boolean |
|
void |
setAlpha(int alpha) |
void |
setArrowDimensions(float width, float height)Sets the dimensions of the arrow at the end of the spinner in pixels. |
void |
setArrowEnabled(boolean show)Sets if the arrow at the end of the spinner should be shown. |
void |
setArrowScale(float scale)Sets the scale of the arrow at the end of the spinner. |
void |
setBackgroundColor(int color)Sets the background color of the circle inside the drawable. |
void |
setCenterRadius(float centerRadius)Sets the center radius for the progress spinner in pixels. |
void |
setColorFilter(ColorFilter colorFilter) |
void |
setColorSchemeColors(@NonNull int[] colors)Sets the colors used in the progress animation from a color list. |
void |
setProgressRotation(float rotation)Sets the amount of rotation to apply to the progress spinner. |
void |
setStartEndTrim(float start, float end)Sets the start and end trim for the progress spinner arc. |
void |
setStrokeCap(@NonNull Paint.Cap strokeCap)Sets the stroke cap of the progress spinner. |
void |
setStrokeWidth(float strokeWidth)Sets the stroke width for the progress spinner in pixels. |
void |
setStyle(int size)Sets the overall size for the progress spinner. |
void |
start()Starts the animation for the spinner. |
void |
stop()Stops the animation for the spinner. |
Inherited methods |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Constants
Public constructors
Public methods
getArrowEnabled
public boolean getArrowEnabled()
Returns true if the arrow at the end of the spinner is shown.
| Returns | |
|---|---|
boolean |
|
getArrowHeight
public float getArrowHeight()
Returns the arrow height in pixels.
| Returns | |
|---|---|
float |
arrow height in pixels |
getArrowScale
public float getArrowScale()
Returns the scale of the arrow at the end of the spinner.
| Returns | |
|---|---|
float |
scale of the arrow |
getArrowWidth
public float getArrowWidth()
Returns the arrow width in pixels.
| Returns | |
|---|---|
float |
arrow width in pixels |
getBackgroundColor
public int getBackgroundColor()
Returns the background color of the circle drawn inside the drawable.
| Returns | |
|---|---|
int |
an ARGB color |
getCenterRadius
public float getCenterRadius()
Returns the center radius for the progress spinner in pixels.
| Returns | |
|---|---|
float |
center radius in pixels |
getColorSchemeColors
public @NonNull int[] getColorSchemeColors()
Returns the colors used in the progress animation
| Returns | |
|---|---|
@NonNull int[] |
list of ARGB colors |
getEndTrim
public float getEndTrim()
Returns the end trim for the progress spinner arc
| Returns | |
|---|---|
float |
end trim from [0..1] |
getProgressRotation
public float getProgressRotation()
Returns the amount of rotation applied to the progress spinner.
| Returns | |
|---|---|
float |
amount of rotation from [0..1] |
getStartTrim
public float getStartTrim()
Returns the start trim for the progress spinner arc
| Returns | |
|---|---|
float |
start trim from [0..1] |
getStrokeCap
public @NonNull Paint.Cap getStrokeCap()
Returns the stroke cap of the progress spinner.
getStrokeWidth
public float getStrokeWidth()
Returns the stroke width for the progress spinner in pixels.
| Returns | |
|---|---|
float |
stroke width in pixels |
setArrowDimensions
public void setArrowDimensions(float width, float height)
Sets the dimensions of the arrow at the end of the spinner in pixels.
| Parameters | |
|---|---|
float width |
width of the baseline of the arrow in pixels |
float height |
distance from tip of the arrow to its baseline in pixels |
setArrowEnabled
public void setArrowEnabled(boolean show)
Sets if the arrow at the end of the spinner should be shown.
| Parameters | |
|---|---|
boolean show |
|
setArrowScale
public void setArrowScale(float scale)
Sets the scale of the arrow at the end of the spinner.
| Parameters | |
|---|---|
float scale |
scaling that will be applied to the arrow's both width and height when drawing. |
setBackgroundColor
public void setBackgroundColor(int color)
Sets the background color of the circle inside the drawable. Calling setAlpha does not affect the visibility background color, so it should be set separately if it needs to be hidden or visible.
| Parameters | |
|---|---|
int color |
an ARGB color |
setCenterRadius
public void setCenterRadius(float centerRadius)
Sets the center radius for the progress spinner in pixels. If set to 0, this drawable will fill the bounds when drawn.
| Parameters | |
|---|---|
float centerRadius |
center radius in pixels |
setColorSchemeColors
public void setColorSchemeColors(@NonNull int[] colors)
Sets the colors used in the progress animation from a color list. The first color will also be the color to be used if animation is not started yet.
| Parameters | |
|---|---|
@NonNull int[] colors |
list of ARGB colors to be used in the spinner |
setProgressRotation
public void setProgressRotation(float rotation)
Sets the amount of rotation to apply to the progress spinner.
| Parameters | |
|---|---|
float rotation |
rotation from [0..1] |
setStartEndTrim
public void setStartEndTrim(float start, float end)
Sets the start and end trim for the progress spinner arc. 0 corresponds to the geometric angle of 0 degrees (3 o'clock on a watch) and it increases clockwise, coming to a full circle at 1.
| Parameters | |
|---|---|
float start |
starting position of the arc from [0..1] |
float end |
ending position of the arc from [0..1] |
setStrokeCap
public void setStrokeCap(@NonNull Paint.Cap strokeCap)
Sets the stroke cap of the progress spinner. Default stroke cap is SQUARE.
setStrokeWidth
public void setStrokeWidth(float strokeWidth)
Sets the stroke width for the progress spinner in pixels.
| Parameters | |
|---|---|
float strokeWidth |
stroke width in pixels |