Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SmallWinter/CircularProgressBar

Repository files navigation

CircularProgressBar

sample

Platform API Maven Central Twitter

This is an Android project allowing to realize a circular ProgressBar in the simplest way possible.

Android app on Google Play

USAGE

To make a circular ProgressBar add CircularProgressBar in your layout XML and add CircularProgressBar library in your project or you can also grab it via Gradle:

implementation 'com.mikhaellopez:circularprogressbar:3.1.0'

XML

<com.mikhaellopez.circularprogressbar.CircularProgressBar
 android:id="@+id/circularProgressBar"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 app:cpb_background_progressbar_color="#b6bbd8"
 app:cpb_background_progressbar_width="5dp"
 app:cpb_progress_direction="to_right"
 app:cpb_progressbar_color="#3f51b5"
 app:cpb_progressbar_width="10dp"
 app:cpb_round_border="false" />

You must use the following properties in your XML to change your CircularProgressBar.

Properties Type Default
app:cpb_progress integer 0
app:cpb_progress_max integer 100
app:cpb_indeterminate_mode boolean false
app:cpb_progressbar_color color BLACK
app:cpb_progressbar_color_start color cpb_progressbar_color
app:cpb_progressbar_color_end color cpb_progressbar_color
app:cpb_progressbar_color_direction left_to_right, right_to_left, top_to_bottom or bottom_to_top left_to_right
app:cpb_progressbar_width dimension 7dp
app:cpb_background_progressbar_color color GRAY
app:cpb_background_progressbar_color_start color GRAY
app:cpb_background_progressbar_color_end color GRAY
app:cpb_background_progressbar_color_direction left_to_right, right_to_left, top_to_bottom or bottom_to_top left_to_right
app:cpb_background_progressbar_width dimension 3dp
app:cpb_round_border boolean false
app:cpb_start_angle float 0f (=top)
app:cpb_progress_direction to_right or to_left to_right

KOTLIN

val circularProgressBar = findViewById<CircularProgressBar>(R.id.yourCircularProgressbar)
circularProgressBar.apply {
 // Set Progress
 progress = 65f
 // or with animation
 setProgressWithAnimation(65f, 1000) // =1s
 // Set Progress Max
 progressMax = 200f
 // Set ProgressBar Color
 progressBarColor = Color.BLACK
 // or with gradient
 progressBarColorStart = Color.GRAY
 progressBarColorEnd = Color.RED
 progressBarColorDirection = CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
 // Set background ProgressBar Color
 backgroundProgressBarColor = Color.GRAY
 // or with gradient
 backgroundProgressBarColorStart = Color.WHITE
 backgroundProgressBarColorEnd = Color.RED
 backgroundProgressBarColorDirection = CircularProgressBar.GradientDirection.TOP_TO_BOTTOM
 // Set Width
 progressBarWidth = 7f // in DP
 backgroundProgressBarWidth = 3f // in DP
 // Other
 roundBorder = true
 startAngle = 180f
 progressDirection = CircularProgressBar.ProgressDirection.TO_RIGHT
}

Listener (in Kotlin)

circularProgressBar.onProgressChangeListener = { progress ->
 // Do something
}
circularProgressBar.onIndeterminateModeChangeListener = { isEnable ->
 // Do something
}

JAVA

CircularProgressBar circularProgressBar = findViewById(R.id.yourCircularProgressbar);
// Set Progress
circularProgressBar.setProgress(65f);
// or with animation
circularProgressBar.setProgressWithAnimation(65f, 1000); // =1s
// Set Progress Max
circularProgressBar.setProgressMax(200f);
// Set ProgressBar Color
circularProgressBar.setProgressBarColor(Color.BLACK);
// or with gradient
circularProgressBar.setProgressBarColorStart(Color.GRAY);
circularProgressBar.setProgressBarColorEnd(Color.RED);
circularProgressBar.setProgressBarColorDirection(CircularProgressBar.GradientDirection.TOP_TO_BOTTOM);
// Set background ProgressBar Color
circularProgressBar.setBackgroundProgressBarColor(Color.GRAY);
// or with gradient
circularProgressBar.setBackgroundProgressBarColorStart(Color.WHITE);
circularProgressBar.setBackgroundProgressBarColorEnd(Color.RED);
circularProgressBar.setBackgroundProgressBarColorDirection(CircularProgressBar.GradientDirection.TOP_TO_BOTTOM);
// Set Width
circularProgressBar.setProgressBarWidth(7f); // in DP
circularProgressBar.setBackgroundProgressBarWidth(3f); // in DP
// Other
circularProgressBar.setRoundBorder(true);
circularProgressBar.setStartAngle(180f);
circularProgressBar.setProgressDirection(CircularProgressBar.ProgressDirection.TO_RIGHT);

Listener (in Java)

circularProgressBar.setOnIndeterminateModeChangeListener(isEnable -> {
 // Do something
 return Unit.INSTANCE;
});
 circularProgressBar.setOnProgressChangeListener(progress -> {
 // Do something
 return Unit.INSTANCE;
});

SUPPORT ❤️

Find this library useful? Support it by joining stargazers for this repository ⭐️
And follow me for my next creations 👍

LICENCE

CircularProgressBar by Lopez Mikhael is licensed under a Apache License 2.0. Based on a work at Pedramrn/CircularProgressBar.

About

Create circular ProgressBar in Android ⭕

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 99.7%
  • Shell 0.3%

AltStyle によって変換されたページ (->オリジナル) /