DownloadProgressBar is an android library that delivers awesome custom progress bar. You can manipulate it's state in every way.

Overview

Download Progress Bar

Android Arsenal

Android progress bar with cool animation, inspired by : https://dribbble.com/shots/2012292-Download-Animation

Download Progress Bar Animation

Download Progress Bar Animation


###Attributes

Attribute Type Usage
app:circleRadius dimension The dimension of the circle radius
app:strokeWidth dimension The dimension of the circle stroke width
app:lineWidth dimension Color used for the progress completed
app:progressDuration integer Duration of progress. Default value is set to 1000 ms
app:resultDuration integer Duration of result, either success and error. Default set to 4000 ms
app:overshootValue dimension Value of overshoot interpolator (used for popping up the circle)
app:drawingColor color Color used for drawing inside drawables (white on gif)
app:progressColor color Color used for drawing the progress (white on gif)
app:circleBackgroundColor color Color used for drawing background circle (light blue on gif)
app:progressBackgroundColor color Color used for drawing progress background (light blue on gif)

###Updates

  • v1.1
    • Added new animation - ManipulateProgressAnimation - now you can set your progress manually. The default result is set to Success. Just play the animation with:
    downloadProgressBar.playManualProgressAnimation();
    • You can change the result type with:
    downloadProgressBar.setErrorResultState();
    or
    downloadProgressBar.setSuccessResultState();
    • To set the progress use setProgress method. The value must be between 1-100 - it determines percent value:
    downloadProgressBar.setProgress(value);
    • You can abort the progress and set the error result immediately just by typing:
    downloadProgressBar.abortDownload();
    • Also I've added two methods to the callback - onManualProgressStarted() and onManualProgressEnded(). They're called everytime the setProgress() method ends.

###Download

repositories {
    maven {
        url "https://jitpack.io"
    }
}

dependencies {
    compile 'com.github.panwrona:DownloadProgressBar:1.1'
}

###Usage

Below I will show You how to use this custom view. First we need to distinguish two kinds of result we can get: success and error. To play success animation, simply call this one line:

DownloadProgressBar downloadProgressBar = (DownloadProgressBar)findViewById(R.id.download_progress_view);
downloadProgressBar.playToSuccess();

If you want to play error animation, simply call:

DownloadProgressBar downloadProgressBar = (DownloadProgressBar)findViewById(R.id.download_progress_view);
downloadProgressBar.playToError();

I've also added listener for common events: whole animation start, whole animation end, progress update, animation success, animation error. To define it, call this one:

downloadProgressBar.setOnProgressUpdateListener(new DownloadProgressBar.OnProgressUpdateListener() {
            @Override
            public void onProgressUpdate(float currentPlayTime) {
                // Here we are setting % value on our text view.
                successTextView.setText(Math.round(currentPlayTime / 3.6) + " %");
            }

            @Override
            public void onAnimationStarted() {
                // Here we are disabling our view because of possible interactions while animating.
                downloadProgressBar.setEnabled(false);
            }

            @Override
            public void onAnimationEnded() {
                successTextView.setText("Click to download");
                downloadProgressBar.setEnabled(true);
            }

            @Override
            public void onAnimationSuccess() {
                successTextView.setText("Downloaded!");
            }

            @Override
            public void onAnimationError() {

            }
        });

###Developed By

Follow me on Twitter Add me to Linkedin

###License

Copyright 2015 Mariusz Brona

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.
Comments
  • When start download,how can i know this will be success or  fail?

    When start download,how can i know this will be success or fail?

    downloadProgressView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { downloadProgressView.playToSuccess(); } });

    opened by brucetoo 5
  • hey please fix this...

    hey please fix this...

    This manifest is always shown error even when u change to 1 and 1.0 it alwways always error really .

    package="com.panwrona.downloadprog
    android:versionCode="+"
    android:versionName="STRING_CONSTRUCT"
    
    opened by stickylabdev 3
  • Pause Success View .

    Pause Success View .

    Hello ,

    thanks for such great animation .we have an enquiry here about your libary we are using your animation as part of an introduction screen but after the animation finishes the Arrow view comes again . how can we pause the view of success as Tick Sign if you can give us the instructions thats would be great . Thanks .

    opened by joseph27 3
  • How can i set MAX Progress?

    How can i set MAX Progress?

    Hi, in native class Progress Bar android there are a method that let me Set the Max"` of the progress bar (Usally is 100) but if wanna set my own value how can i set it in this library?

    Here a image: http://image.prntscr.com/image/fa3ee39d0903457fb7fa8ed0d5f02d13.png

    opened by silverxd20 1
  • How I can learn?

    How I can learn?

    Congratulations!

    How cool this design and everything! So cool! I love :)

    I would like to learn how to design and create animations how are you with programming.

    How I can learn? How do I search in Google or meeting?

    Thanks for your time!

    opened by victortu 1
  • NullPointerException

    NullPointerException

    Caused by: java.lang.NullPointerException at com.panwrona.downloadprogressbar.library.DownloadProgressBar.setCurrentPlayTimeByStateAndPlay(DownloadProgressBar.java:775) at com.panwrona.downloadprogressbar.library.DownloadProgressBar.continueAnimation(DownloadProgressBar.java:814) at com.panwrona.downloadprogressbar.library.DownloadProgressBar.onRestoreInstanceState(DownloadProgressBar.java:806) at android.view.View.dispatchRestoreInstanceState(View.java:12849) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2647) at android.view.View.restoreHierarchyState(View.java:12827) at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1780) at android.app.Activity.onRestoreInstanceState(Activity.java:980) at android.app.Activity.performRestoreInstanceState(Activity.java:951) at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1141) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2248) ... 11 more

    bug enhancement 
    opened by lee3do 2
  • The center progressbar looks stretched

    The center progressbar looks stretched

    I've added the View to my layout, and it works great. But the only problem is that the progressbar in the middle is not as it's supposed to be according to the gif animations.

    EDIT: On Android 4.x.x

    stretched downloadprogressbar

    bug 
    opened by timkoers 7
  • Problem with setErrorResultState();

    Problem with setErrorResultState();

    Hi, thanks for this great library. When calling downloadProgressBar.setErrorResultState(); or downloadProgressBar.abortDownload(); nothing happens, it shows only the circle without any content inside the circle.

    Also horizontal progress bar works good in lollipop and above but in pre-lollipop devices its shape is something bad..

    Please help me....

    bug 
    opened by darwinfrancis 1
Releases(1.1)
Owner
Mariusz Brona
When people see my apps, they want to lick their phone
Mariusz Brona
A feature rich staged progress bar with modifiable steps in between its stages.

StageStepBar A staged progressbar that you can use if you want finer control of the steps in between its stages. You can customize: Number of steps be

Konstantinos Lountzis 19 Dec 30, 2022
:barber: [Android Library] Stacked dual progress indicator progress-bar

StackedHorizontalProgressBar Specs Featured in Show some ❤️ Android library with ability to show two progress indicators in one horizontal progress ba

Nishant Srivastava 98 Nov 11, 2022
A progress wheel for android, intended for use instead of the standard progress bar.

Deprecation warning This project is no-longer maintained, and has not been maintained for a few years now. If you're looking for an alternative librar

Todd Davies 2.7k Dec 29, 2022
A simple progress loader inspired by Can you Code this UI? Volume 6! - https://stories.uplabs.com/can-you-code-this-ui-volume-6-7bd09fa6dd92#.nyh2zhpvb

SlidingSquaresLoader Sliding Square Loader - A simple progress loader inspired by Can you Code this UI? Volume 6! Gradle Step 1. Add the JitPack repos

Hamza Fetuga 151 Jul 26, 2022
Android loading or progress dialog widget library, provide efficient way to implement iOS like loading dialog and progress wheel

ACProgressLite English Version / 中文版本 An Android loading widget library. Lite and easy to use, strong customizability. Can be used to implement 'iOS'

Cloudist Technology Co., Ltd. 234 Nov 24, 2022
Custom Progress bar with stages developed in kotlin.

Custom-Progress-SeekBar A fully Customizable Semi Circle Arc Progress Bar. You can customize the the width and color of both progress and progress pla

null 5 Dec 28, 2022
A wave view of android,can be used as progress bar.

WaveView ![Gitter](https://badges.gitter.im/Join Chat.svg) A wave view of android,can be used as progress bar. Screenshot APK demo.apk What can be use

Kai Wang 1.3k Dec 28, 2022
Progress Button is a android library for hanling different types state like active, finished, enabled, disabled and reset with a single line of code.

Progress Button is a android library for hanling different types state like active, finished, enabled, disabled and reset with a single line of code.

Sagar Khurana 38 Nov 15, 2022
[Android] Round Corner Progress Bar Library for Android

RoundCornerProgressBar Round corner is cool. Let's make your progress bar to round corner Colorful progress bar with round corner on progress which yo

Akexorcist 2.3k Dec 31, 2022
[Android] Round Corner Progress Bar Library for Android

RoundCornerProgressBar Round corner is cool. Let's make your progress bar to round corner Colorful progress bar with round corner on progress which yo

Akexorcist 2.3k Jan 7, 2023
A customizable, animated progress bar that features rounded corners. This Android library is designed to look great and be simple to use 🎉

RoundedProgressBar Easy, Beautiful, Customizeable The RoundedProgressBar library gives you a wide range of customizable options for making progress ba

null 541 Jan 1, 2023
Open source android library for different progress bar designs

MultiProgressBar A progress bar library for Android that provides customized progress bars. Built with ❤︎ by Aseem Khare ?? Installation Add this in y

Aseem Khare 124 Nov 15, 2022
An android library to easily add circular progress bar into your Jetpack Compose apps.

CircularProgressBar for Jetpack Compose An android library to easily add circular progress bar into your Jetpack Compose apps. Have a Look Usage Circu

Hitanshu Dhawan 38 Oct 30, 2022
Some beautiful android loading drawable, can be combined with any view as the LoadingView or the ProgressBar. Besides, some Drawable can customize the loading progress too.

LoadingDrawable: Android cool animation collection 前言 CircleRotate源码解析 Fish源码解析 LoadingDrawable is some android animations implement of drawable: a li

dinus_developer 4.1k Dec 27, 2022
Android - An action bar item which acts both as a refresh button and as a progress indicator

RefreshActionItem An action bar item that implements this common pattern: Initially it shows a refresh button. If the button is clicked, a background

Manuel Peinado Gallego 655 Nov 10, 2022
This is beautiful color arc progress bar.

ColorArcProgressBar 中文版 This is a customizable circular progressbar.It can achieve the effect of the QQ health's arc progress with XML. What's more, w

PASSION 928 Dec 6, 2022
A customizable indeterminate progress bar

DilatingDotsProgressBar Installation compile 'com.github.justzak:dilatingdotsprogressbar:1.0.1' Usage <com.zl.reik.dilatingdotsprogressbar.DilatingDo

Zachary Reik 628 Sep 24, 2022
Arc pointer - simple customized progress bar in the form of an arch

ArcPointer Simple customized progress bar in the form of an arch Demo Quick start Step 1 Gradle: compile 'io.github.dvegasa:arcpointer:1.0.2' Maven:

Ed Khalturin 79 Nov 22, 2022
MusicBar 2.1 0.0 Java view visualize progress bar for sound file like sound cloud

MusicBar Setup dependencies { implementation 'com.oze.music:MusicBar:1.0.5' } Usage Function Description setAnimationChangeListener(OnMusicBarAn

emad 74 Aug 26, 2022