【Android】开源项目UI控件分类汇总之ProgressBar

  Android开发的宝库愈来愈多,我开发中有须要的组件,主要参考Trinea的大做Android开源项目分类汇总(包含了后面的绝大多数)、CSDN上直接拿来用!最火的Android开源项目还有CSDN上的直接拿来用!十大Material Design开源项目受益不浅,可是,有的分类项目太多,不是每一个项目都有预览,不容易找到什么是最想要的,并且有一些项目不容易顺利地导入,我把同类的Demo作到一个app里,供你们下载参考。不过顺序没有按Trinea的大做来,当下须要什么控件,就优先写哪些,先从最近用的ProgressBar开始,progressbar的相关工程所有从Trinea的汇总中得来,而且就按Trinea的顺序给出。android

  由于个人Demo是多个sample的集合,那么每一个项目的demo都涉及哪些文件,可能会以为比较乱,如无特殊说明,只有和项目名同名的Activity还有对应的layout。由于全部的库都是作一样的事情,它们自定义属性的时候可能出现冲突,这种状况我稍微修改了部分的属性名,前面是各个项目的预览图,后面是对每一个项目的说明,包括我是否作了修改。git

  综合全部ProgressBar效果的Demo App下载,对应的Android Studio工程下载。github

1. SmoothProgressBarapp

SmoothProgressBar

2. ProgressWheelmaven

Sample ImageSample Image 2Sample Image 3Sample Image 4

3. android-square-progressbarflex

three examples

4. HoloCircularProgressBargradle

   

5. ProgressButton动画

Pin Progress Button Android developer

6. GoogleProgressBarurl

FoldingCirclesProgressBar   GoogleMusicDicesDrawable   NexusRotationCross.gif

7. THProgressButtonspa

 alt text

8. NumberProgressBar

NumberProgressBar

9. CircularProgressDrawable

Overshoot Example     Colorfill Example

10. circular-progress-button     11. WaveView

     

 

 1. SmoothProgressBar

项目地址:https://github.com/castorflex/SmoothProgressBar

项目描述:这个水平进度条的确是很漂亮,可是在sample里还定义了大量的样式,眼光缭乱,我以为做者demo里的这几个样式已经很好看,大可没必要再去自定义。这个项目有两个library,一个是水平进度条的,还有一个是圆形进度条的,这两个自己在maven上都有,圆形进度条我是引的maven的,但水平进度条的库我是在本地引入,而后把demo里的样式移到了library里面,这样用的时候只把layout里的组件粘贴一下就能够了。若是按照sample里的本身定义样式,那么能够直接引用官方的库:

compile 'com.github.castorflex.smoothprogressbar:library:1.0.0'
compile 'com.github.castorflex.smoothprogressbar:library-circular:1.0.2'

本项目的相关文件为:

org.zhangfc.android.pb.smoothprogressbar.SpbMainActivity
@layout/spb_activity_main
org.zhangfc.android.pb.smoothprogressbar.SpbMakeCustomActivity
@layout/spb_activity_custom

 

2. ProgressWheel

项目地址:https://github.com/Todd-Davies/ProgressWheel

项目说明:这个比较简单,都是圆形的ProgressBar,将库做为project library导入。便可。

 

3. android-square-progressbar

项目地址:https://github.com/mrwonderman/android-square-progressbar

接口说明:https://github.com/mrwonderman/android-square-progressbar/wiki/Usage

项目说明:这个项目是在图片周围显示进度。它的官方Demo很乱,文档也很散,我基本没有看官方的Demo,直接按照文档上的几个examples写的Demo。关于库的导入,原做者并无把这个项目上传到maven,因此最新版的只能本地引入。有另一我的把这个项目放到了maven仓库里,不过版本不是最新的。写这篇文章的时候,maven仓库里的版本号是1.3.0,而最新的1.4.0对文字自定义样式、自定义Bitmap的支持1.3.0都是没有的,注意自定义Bitmap的时候会抛一个NullPointerException,打开library的SquareProgressBar,在最后一个方法setImageBitmap里面加上对imageView的赋值就行了:

public void setImageBitmap(Bitmap bitmap){
    imageView = (ImageView) findViewById(R.id.imageView1);
    imageView.setImageBitmap(bitmap);
}

因此仍是建议使用本地library。但若是仍是想使用maven仓库的版本,首先指定maven位置:

repositories {
    maven {
        url 'https://raw.github.com/elodieferrais/wonder-libraries/master'
        name 'github-wonder-libraries'
    }
}

而后在依赖中引入:

compile 'net.yscs.android:square_progressbar:1.3.0'

本项目相关的资源文件为

drawable-hdpi/sqpb_city.jpg

 

4. HoloCircularProgressBar

项目地址:https://github.com/passsy/android-HoloCircularProgressBar

项目说明:Android4.1 时钟App样式。这个项目的library只能在本地导入,Demo中原做者还在menu中加入了两种Theme的切换,为了Demo的简单性,我删了相关代码,效果能够直接看官方提供的Demo图片。固然,删除了设置主题的代码,Demo关于动画的控制也还很多。由于属性和其它项目冲突,我把progress属性换成了circular_progress。

 

5. ProgressButton

项目地址:https://github.com/f2prateek/progressbutton

文档地址:http://f2prateek.com/progressbutton/

项目说明:用图钉显示进度,原本这个项目直接引用maven当中的库没有问题,可是由于我把全部的progressbar整合在一块儿,有一些自定义属性发生了冲突,因此我只能在本地导入,修改一下属性名。真正在使用这个项目时,在gradle文件中指定库的位置:

compile 'com.f2prateek:progressbutton:1.0.3@aar'

使用自定义属性时,我把circleColor改成pbtn_circleColor,progress改成pbtn_progress,max换为pbtn_max。

 

6. GoogleProgressBar

项目地址:https://github.com/jpardogo/GoogleProgressBar

项目说明:Google风格的ProgressBar,直接引用maven库,Demo里提供了选择颜色的UI,简化期间,只并列放了三种风格的ProgressBar,怎么设定颜色在代码里很是清晰,在getProgressDrawableColors方法中修改便可。

 

7. THProgressButton

项目地址:https://github.com/torryharris/TH-ProgressButton

项目说明:带有圆形进度显示的按钮,这个项目自己没有区分library和sample,做者只是建议直接把两个类放到本身的项目里就能够用了。我也把这个library提取了出来,做为project library引入。

 

8. NumberProgressBar

项目地址:https://github.com/daimajia/NumberProgressBar

项目说明:直接maven引入库,带有数字指示的进度条,能够自定义数字先后的粗细。

 

9. CircularProgressDrawable

项目地址:https://github.com/Sefford/CircularProgressDrawable

项目说明:比较好看的一个库,直接引入maven库,圆形显示进度。

 

10. circular-progress-button

项目地址:https://github.com/dmytrodanylyk/circular-progress-button

项目说明:圆形按钮,须要显示为进度时转化为圆形进度条。直接引入maven库。

资源文件:除了Activity和layout,还有三个自定义的动画文件:

drawable/complete_state_selector.xml
drawable/error_state_selector.xml
drawable/idle_state_selector.xml

 

11 WaveView

项目地址:https://github.com/john990/WaveView

项目说明:波纹效果的View,能够做为没有进度值的进度条,由于和其余项目的属性冲突,将progress属性改成wave_progress,library从module引入。

相关文章
相关标签/搜索