All Projects → MackHartley → Roundedprogressbar

MackHartley / Roundedprogressbar

Licence: apache-2.0
A customizable, animated progress bar that features rounded corners. This Android library is designed to look great and be simple to use 🎉

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Roundedprogressbar

Rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
Stars: ✭ 31,664 (+45134.29%)
Mutual labels:  progress-bar
Pbmcapply
Tracking the progress of mc*apply with progress bar.
Stars: ✭ 25 (-64.29%)
Mutual labels:  progress-bar
Android Spinkit
Android loading animations
Stars: ✭ 8,096 (+11465.71%)
Mutual labels:  progress-bar
Dockprogress
Show progress in your app's Dock icon
Stars: ✭ 813 (+1061.43%)
Mutual labels:  progress-bar
Supreme
A command line visual file manager for linux
Stars: ✭ 22 (-68.57%)
Mutual labels:  progress-bar
Ng Bootstrap
Angular powered Bootstrap
Stars: ✭ 7,872 (+11145.71%)
Mutual labels:  progress-bar
Progressbutton
Android Progress Button
Stars: ✭ 662 (+845.71%)
Mutual labels:  progress-bar
Electron Progressbar
electron-progressbar provides an easy-to-use and highly customizable API to show and control progress bars on Electron applications.
Stars: ✭ 58 (-17.14%)
Mutual labels:  progress-bar
Vue Step Progress
A simple Vue component that displays a Progress Bar with labels for each step
Stars: ✭ 26 (-62.86%)
Mutual labels:  progress-bar
Missme
Same Old Android Progress Dialog
Stars: ✭ 49 (-30%)
Mutual labels:  progress-bar
Circular Music Progressbar
Beautiful Circular Progress Bar with album art for android
Stars: ✭ 813 (+1061.43%)
Mutual labels:  progress-bar
Roundprogresstextview
TextView with Round Pogress
Stars: ✭ 18 (-74.29%)
Mutual labels:  progress-bar
Bashful
Use a yaml file to stitch together commands and bash snippits and run them with a bit of style. Why? Because your bash script should be quiet and shy-like (...and not such a loud mouth).
Stars: ✭ 1,018 (+1354.29%)
Mutual labels:  progress-bar
Go Pretty
Pretty print tables and more in golang!
Stars: ✭ 777 (+1010%)
Mutual labels:  progress-bar
Tqdj
A progress bar that plays lofi music
Stars: ✭ 51 (-27.14%)
Mutual labels:  progress-bar
Python Progressbar
Progressbar 2 - A progress bar for Python 2 and Python 3 - "pip install progressbar2"
Stars: ✭ 682 (+874.29%)
Mutual labels:  progress-bar
Flutterplayground
Playground app for Flutter
Stars: ✭ 859 (+1127.14%)
Mutual labels:  progress-bar
Mkringprogressview
⭕️ Ring progress view similar to Activity app on Apple Watch
Stars: ✭ 1,140 (+1528.57%)
Mutual labels:  progress-bar
Toothyprogress
A polyline determinated ProgressBar written in Kotlin
Stars: ✭ 56 (-20%)
Mutual labels:  progress-bar
Progress Activity
Easily add loading, empty and error states in your app.
Stars: ✭ 1,039 (+1384.29%)
Mutual labels:  progress-bar

animated

RoundedProgressBar

Easy, Beautiful, Customizeable

Using the RoundedProgressBar library you have a wide range of customizable options for making progress bars that have rounded edges. Below I've made a gif highlighting just a few examples of different looking progress bars created with this library:

This demo app is included in this repository under the app directory

Gradle Setup ⚙️

If you don't have this already, add it to your root build.gradle file:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Then you can add the dependency to your app build.gradle file:

dependencies {
    ...
    implementation 'com.github.MackHartley:RoundedProgressBar:1.0.1'
}

Features 🌟

  1. Percentage complete text displayed on right side of progress bar
  2. Animaition of Progress bar and progress text

Animation Demo

  1. Foreground and background colors can be set
  2. Different text colors can be set for progress text depending on which background it's on top of
  3. Looks nice at low values (an occasional issue with rounded progress bar solutions)

Different Text Colors Demo

  1. Any height and width can be used

Sizes Demo

Additionally, the RoundedProgressBar handles all state on config changes including situations where there are multiple progress bars:

Save State Demo

Public Methods and Xml Attributes ⌨️

These are the methods which can be called on the RoundedProgressBar class:

setProgressPercentage(progressPercentage: Double, shouldAnimate: Boolean = true)
getProgressPercentage(): Double

setProgressColor(colorRes: Int) // Sets the color of the 'progress' part of the progress bar
setProgressBgColor(colorRes: Int) // Sets the color of the progress bar background

setTextColor(colorRes: Int) // Sets text color for when it is drawn over the progress part of progress bar
setBgTextColor(colorRes: Int) // Sets text color for when it is drawn over the progress bar background
setTextSize(sizeInPixels: Float)
showProgressText(shouldShowProgressText: Boolean) // Hide or show the progress text

setAnimationLength(newAnimationLength: Long)

Each setter is accessible via xml as well. Here I've mapped each setter to its corresponding xml attribute: | Method | Xml Attribute | |---|---| | setProgressPercentage(...) | rpbProgress | | setProgressColor(...) | rpbProgressColor | | setProgressBgColor(...) | rpbProgressBgColor | | setTextSize(...) | rpbTextSize | | setTextColor(...) | rpbTextColor | | setBgTextColor(...) | rpbBgTextColor | | showProgressText(...) | rpbShowProgressText | | setAnimationLength(...) | rpbAnimationLength |

This diagram shows which methods are responsible for setting the different colors of the progress bar

Why I Made This 💭

A while back I was working on an Android app which relied heavily on having a few good looking progress bars. I found this library which was the best option in my opinion. However, as my project progressed I encountered the following issues with it:

  • No ability to set text color depending on where it's drawn
  • Occasional misplacement of text
  • Looks strange at low values (Common issue with rounded progress bars)
  • Doesn't have text animation

Unfortunately, these issues weren't acceptable for my use case, and that library was the best option I could find online. So not one to settle I decided to make something better suited for what I needed.

This is not to say that library is bad, it is quite good and has many more features than my library. However, my focus with this library was to make something simple that did a good job at just being a standard '0 - 100% style' progress bar.

Contributing 🤝

Feel free to open up issues on this repo to report bugs or request features. Additionally if you'd like to contribute to the library feel free to open up a pull request.

If you want to make a big change to the repo it's best to contact me first before you start so we can make sure your changes will be appropriate for this library.

License 📄

Copyright 2020 Mack Hartley

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].