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

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

  综合所有ProgressBar效果的Demo App下载,对应的Android Studio工程下载。

1. SmoothProgressBar

2. ProgressWheel

3. android-square-progressbar

4. HoloCircularProgressBar

   

5. ProgressButton

6. GoogleProgressBar

      

7. THProgressButton

8. NumberProgressBar

9. CircularProgressDrawable

     

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引入。

【Android】开源项目UI控件分类汇总之ProgressBar的更多相关文章

  1. 【Android】开源项目UI控件分类汇总之Dialog

    接前文ProgressBar:Android开发的宝库越来越多,我开发中有需要的组件,主要参考Trinea的大作Android开源项目分类汇总(包含了后面的绝大多数).CSDN上直接拿来用!最火的An ...

  2. Android开源库集合(控件)

    RecycleView: RecycleView功能增强 https://github.com/Malinskiy/SuperRecyclerView RecycleView功能增强(拖拽,滑动删除, ...

  3. Android 开源项目android-open-project解析之(二) GridView,ImageView,ProgressBar,TextView

    五.GridView StaggeredGridView 同意非对齐行的GridView,类似Pinterest的瀑布流.而且跟ListView一样自带View缓存,继承自ViewGroup 项目地址 ...

  4. Android学习路-UI控件

  5. 那些年不错的Android开源项目

    那些年不错的Android开源项目 转载自 eoe 那些年不错的Android开源项目-个性化控件篇 第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.Acti ...

  6. 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ; 一. UI 控件简介 1. UI 控件分类 UI 控件分类 : 活 ...

  7. Android常用酷炫控件(开源项目)github地址汇总

    转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...

  8. Android 常用炫酷控件(开源项目)git地址汇总

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  9. Android开源项目分类汇总

    目前包括: Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...

随机推荐

  1. Android开发之ProgressDialog在独立Thread线程中更新进度

    简单的需求:在一个工作Thread中更新进度对话框ProgressDialog 遇到的问题: 1,创建需要Context,这个需要传进来 2,Thread中不能创建ProgressDialog,否则需 ...

  2. ODAC(V9.5.15) 学习笔记(十七)主从模式

    主从模式(Master/Detail mode)是指建立主表和从表关系的多个数据集集合模式. 1. 关系设置 要设置主从模式,必须有一个主表数据集(TDataSet)和一个从表数据集(TDataSet ...

  3. [转]UML八大误解

    潘加宇 本文删节版发表于<程序员>2013年11期 UML(统一建模语言)是软件建模的表示法标准.我从2002年开始专门从事研究和推广UML的工作,在为软件组织提供UML相关需求和设计技能 ...

  4. windows8 平板的使用心得

    一.问题的提出 买了本windows8 平板,全触摸,不带键盘鼠标,第一次用.系统与之前版本有差别,不适应. 二.问题的分析 总是有地方改善. 三.问题的解决 1.我的电脑,要在桌面上显示. 点桌面, ...

  5. C#多线程管理代码

    /// <summary> /// 多线程执行 /// </summary> public class MultiThreadingWorker { /// <summa ...

  6. There is an internal error in the React performance measurement code.Did not expect componentDidMount timer to start while render timer is still in progress for another instance

    一.There is an internal error in the React performance measurement code.Did not expect componentDidMo ...

  7. Heavy Transportation(最短路 + dp)

    Heavy Transportation Time Limit:3000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64 ...

  8. repo: 创建local manifest以及如何添加app到CM/Android build系统中

    The local manifest Creating a local manifest allows you to customize the list of repositories on you ...

  9. SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码

    在SpringMVC学习系列(6) 之 数据验证中我们已经学习了如何结合Hibernate-validator进行后台的数据合法性验证,但是通常来说后台验证只是第二道保险,为了更好的用户体验会现在前端 ...

  10. ios录制测试

    http://support.smartbear.com/viewarticle/64016/