GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - razir/ProgressButton: Android Progress Button

BranchesTags
Open more actions menu

Latest commit

 

History

61 Commits
61 Commits

Folders and files

NameName
Last commit message
Last commit date
app
app
 
 
gif
gif
 
 
gradle/wrapper
gradle/wrapper
 
 
progressbutton
progressbutton
 
 
.gitignore
.gitignore
 
 
DetailedDoc.md
DetailedDoc.md
 
 
Readme.md
Readme.md
 
 
build.gradle
build.gradle
 
 
gradle.properties
gradle.properties
 
 
gradlew
gradlew
 
 
gradlew.bat
gradlew.bat
 
 
settings.gradle
settings.gradle
 
 

Repository files navigation

Progress Button Android Download

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

Article on ProAndroidDev.com explaining how it works

https://proandroiddev.com/replace-progressdialog-with-a-progress-button-in-your-app-14ed1d50b44

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 {
    mavenCentral()
  }
}
implementation 'com.github.razir.progressbutton:progressbutton:2.1.0'

How to use

Basic example

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    // bind your button to activity lifecycle
    bindProgressButton(myButton)

    // (Optional) Enable fade In / Fade out animations 
    myButton.attachTextChangeAnimator()

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

    // Hide progress and show "Submit" text instead
    myButton.hideProgress(R.string.submit)
}

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

Java samples: 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) :

[LifecycleOwner].bindProgressButton(button)

License

Apache 2.0

Author

Anton Hadutski

About

Android Progress Button

Topics

androidbuttonmaterial-designprogress-barprogress-button

Resources

Readme
Activity

Stars

850 stars

Watchers

10 watching

Forks

81 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.