android-square-progressbar
First things first
This library is setup to work with the Android Studio and Gradle. If you're using the Eclipse environment then check out the legacy repository here: android-square-progressbar-legacy.
You can find my blog post about the newest version here: halcyon.ch - android-square-progressbar v.1.6.0, also check out the post about the previous major 1.5.0 version here.
The example application is available at the play store:
General idea
Sometimes you don't have enough space in your layout to display a wide progressbar. So this library gives you a complete new possibility to display a progress. You can simply show a progressbar around an image. And this progressbar can be configured in a lot of different ways, like colour, outline, display of the percentage and so on.
Examples
Here are some examples of how these progressbars could look like:
normal / default | rounded corners | show percent | indeterminate |
---|---|---|---|
setRoundedCorners(true) | showProgress(true) | drawOutline(true) | |
setOpacity(true) | setIndeterminate(true) |
There are some further examples available here (with code) : Examples
How to use it? / How to install? / How to contribute?
Check the wiki for more information about how to use, how to install or how to contribute.
If you have questions about the code or if you need some help, you can try the Gitter-Group.
Usage
Gradle
This library now works with gradle and will soon be available on the central maven repository. For the moment its on jCenter at Bintray. Just add the following repository to your root build.gradle:
allprojects {
repositories {
jcenter()
maven { url "https://jcenter.bintray.com" }
}
}
Then in your app build.gradle:
dependencies {
// other repos ...
implementation 'ch.halcyon:squareprogressbar:1.6.4'
}
Code
After adding the gradle depedency from above you can go to your xml layout and add the following code for a squareprogressbar:
<ch.halcyon.squareprogressbar.SquareProgressBar
android:id="@+id/sprogressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:paddingTop="20dp" >
</ch.halcyon.squareprogressbar.SquareProgressBar>
To set some basic settings use the following java-code:
SquareProgressBar squareProgressBar = findViewById(R.id.sprogressbar);
squareProgressBar.setImage(R.drawable.example);
squareProgressBar.setProgress(50.0);
Now you can make the squareprogressbar as fancy as you like. Check the usage page for all the different possiblities.