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(float, float) method. CircularProgressDrawable also supports adding an arrow at the end of the arc by setArrowEnabled(boolean) and setArrowDimensions(float, float) methods.

To use one of the pre-defined sizes instead of using your own, setStyle(int) 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(float) or setStyle(int) methods, CircularProgressDrawable will fill the bounds set via Drawable.setBounds(Rect).

Summary

Constants

int DEFAULT

Maps to ProgressBar default style.

int LARGE

Maps to ProgressBar.Large style.

Public constructors

CircularProgressDrawable(Context context)

Public methods

void draw(Canvas canvas)
int getAlpha()
boolean getArrowEnabled()

Returns true if the arrow at the end of the spinner is shown.

float getArrowHeight()

Returns the arrow height in pixels.

float getArrowScale()

Returns the scale of the arrow at the end of the spinner.

float getArrowWidth()

Returns the arrow width in pixels.

int getBackgroundColor()

Returns the background color of the circle drawn inside the drawable.

float getCenterRadius()

Returns the center radius for the progress spinner in pixels.

int[] getColorSchemeColors()

Returns the colors used in the progress animation

float getEndTrim()

Returns the end trim for the progress spinner arc

int getOpacity()
float getProgressRotation()

Returns the amount of rotation applied to the progress spinner.

float getStartTrim()

Returns the start trim for the progress spinner arc

Paint.Cap getStrokeCap()

Returns the stroke cap of the progress spinner.

float getStrokeWidth()

Returns the stroke width for the progress spinner in pixels.

boolean isRunning()
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(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(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

DEFAULT

public static final int DEFAULT

Maps to ProgressBar default style.

Constant Value: 1 (0x00000001)

LARGE

public static final int LARGE

Maps to ProgressBar.Large style.

Constant Value: 0 (0x00000000)

Public constructors

CircularProgressDrawable

public CircularProgressDrawable (Context context)

Parameters
context Context: application context

Public methods

draw

public void draw (Canvas canvas)

Parameters
canvas Canvas

getAlpha

public int getAlpha ()

Returns
int

getArrowEnabled

public boolean getArrowEnabled ()

Returns true if the arrow at the end of the spinner is shown.

Returns
boolean true if the arrow is shown, false otherwise.

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