Skip to content
Material progress button for Android
Branch: master
Clone or download
Latest commit 4d1b0ed May 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea init first version Apr 19, 2019
app Fix textAllCaps == true issue May 7, 2019
gif Add demo graphics Apr 21, 2019
gradle/wrapper init first version Apr 19, 2019
progressbutton Update to version 1.0.3 May 10, 2019
.gitignore init first version Apr 19, 2019 create detailed doc Apr 22, 2019 Update May 11, 2019
build.gradle init first version Apr 19, 2019 init first version Apr 19, 2019
gradlew init first version Apr 19, 2019
gradlew.bat init first version Apr 19, 2019
settings.gradle init first version Apr 19, 2019

Progress Button Android Download

basic progress button example progress cebter button example mixed progress button example

Article on explaining how it works

Add progress to any button by few lines of code without layout changes

Main features:

  • No layout changes required
  • Few lines of code to add
  • Easy configurable
  • Customizable
  • Built in fade animations

Gradle dependency

allprojects {
  repositories {
implementation 'com.github.razir.progressbutton:progressbutton:1.0.3'

How to use

Basic example

override fun onCreate(savedInstanceState: Bundle?) {
    // bind your button to activity lifecycle

    // (Optional) Enable fade In / Fade out animations 

    // Show progress with "Loading" text
    myButton.showProgress {
        buttonTextRes = R.string.loading
        progressColor = Color.WHITE

    // Hide progress and show "Submit" text instead

Showing AnimatedDrawable

animated drawable button example

val animatedDrawable = ContextCompat.getDrawable(this, R.drawable.animated_check)  
//Defined bounds are required for your drawable  
animatedDrawable.setBounds(0, 0, 40, 40)  
button.showDrawable(animatedDrawable) {  
  buttonTextRes = R.string.saved  

Detailed doc: here

Min SDK 14

Avoiding memory leaks

To avoid memory leaks you always need to bind your button to a LifecycleOwner (usually Activity, or Fragment) :



Apache 2.0


Anton Hadutski

You can’t perform that action at this time.