Another way to show progress. A progress View over the system StatusBar.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app Update AndroidManifest.xml Sep 2, 2018
LICENSE Initial commit Jan 14, 2018
ProgressStatusBarLib.iml Add files via upload Jan 14, 2018
build.gradle Add files via upload Jan 14, 2018
gradlew.bat Add files via upload Jan 14, 2018
settings.gradle Add files via upload Jan 14, 2018
showcase.gif Add files via upload Jan 15, 2018
showtoastoreo.png Add files via upload Sep 2, 2018


Another way to show progress. A progress View over the system StatusBar. in addition to showing a toast message.

The first form is suitable for showing that the activity is being loaded like fetching data from server, meanwhile the second form is better for real process and the third is for waiting.

That was for android pre-oreo on oreo and above statusbar will remain visible for all options like this:


1- Add repositories to you project build.gradle

allprojects {
	repositories {
	    maven { url '' }

2- Add it as a dependency to your app build.gradle

dependencies {
  compile 'com.github.BaselHorany:ProgressStatusBar:1.1.9'

3- Add SYSTEM_ALERT_WINDOW permission "unnecessary if your app's targetSdkVersion => oreo"

    <!--unnecessary if your app's minSdkVersion => oreo-->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />


1- In your Activity class

public class MainActivity extends AppCompatActivity {

    ProgressStatusBar mProgressStatusBar;

    protected void onCreate(Bundle savedInstanceState) {
        mProgressStatusBar = new ProgressStatusBar(this); 
	//show progress
        mProgressStatusBar.setFakeProgress(3000,true); //make fake progress from 0 to 100 in 3 sec. true/false for display the percentage text.
        mProgressStatusBar.setProgress(60,false); //set progress value manually
        mProgressStatusBar.setWaiting(6000); //show waitting balls for 6 sec.
	//show toast message
	mProgressStatusBar.showToast("1 new message", 3000); //(Sting message, int duratoion)
	//options, anytime before you start a new progress 
	mProgressStatusBar.setProgressColor(COLOR);//default #40212121
	mProgressStatusBar.setProgressTextColor(COLOR);//default #ffffff
	mProgressStatusBar.setProgressBackgroundColor(COLOR);//default transparent or colorPrimaryDark
	mProgressStatusBar.setBallsColor(COLOR);//default #ffffff

        mProgressStatusBar.setProgressListener(new ProgressStatusBar.OnProgressListener() {
            public void onStart() {
                //ex: lock the UI or tent it
            public void onUpdate(int progress) {
                //ex: simulate with another progressView
            public void onEnd() {
                //ex: continue the job

    protected void onPause() {
        mProgressStatusBar.remove(); //remove progress view in case user went out before the progress end


Basel Horany