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. Windows Phone 8.1 Update1 支持中文“小娜”及开发者模拟器更新

    千呼万唤的 Windows Phone 8.1 Update1 在 developer Perview 发布了还没有升级的朋友随我先睹为快吧.升级了的朋友们来看看 WP8.1 update1 还有哪些 ...

  2. 使用Doxygen生成net帮助文档

    一. 什么是Doxygen? Doxygen 是一个程序的文件产生工具,可将程序中的特定批注转换成为说明文件.通常我们在写程序时,或多或少都会写上批注,但是对于其它人而言,要直接探索程序里的批注,与打 ...

  3. IOS的启动画面的适配问题

    iPhone4,iPhone4s 分辨率960*640 长宽比1.5iPhone5,iPhone5s 分辨率1136*640 长宽比1.775iPhone6 分辨率1334*750 长宽比1.778i ...

  4. 网络安装archlinux(2012.8.20)笔记

    周末闲极无聊,把烂笔记本翻出来想装个Archlinux,发现USB不能启动,光驱也挂了,只好网络安装. 我先后试了两种安装方式,一种纯互联网启动,安装,一种局域网启动,再互联网安装.分别说说. 不管哪 ...

  5. [转]VS2010中水晶报表安装应用及实例

    基本分类如下:第一部分:VS2010简介VS2010是微软的提供的一套完整的开发环境,功能也是相当的大微软宣布了下一代开发工具和平台的正式名称,分别称为“Visual Studio Team Syst ...

  6. Google Chrome 扩展程序开发

    根据公司的规定,每月八小时,弹性工作制.所以大家平时来的不太准时,如果有事,下班也就早些回去了.所以一个月下来工作时间可能不够,但是公司的考勤日历是这样的: 除了请假和法定节假日外,其他样式显示都是一 ...

  7. 【转载】 IE/Firefox每次刷新时自动检查网页更新,无需手动清空缓存的设置方法

    [参考了别人的文章]我们做技术,经常在写页面的时候需要多次刷新测试,可是浏览器都有自己的 缓存机制,一般CSS和图片都会被缓存在本地,这样我们修改的CSS就看不到效果 了,每次都去清空缓存,再刷新看效 ...

  8. 爆料喽!!!开源日志库Logger的使用秘籍

    日志对于开发来说是非常重要的,不管是调试数据查看.bug问题追踪定位.数据信息收集统计,日常工作运行维护等等,都大量的使用到.今天介绍著名开源日志库Logger的使用,库的地址:https://git ...

  9. git分享(一)git clone

    git clone 命令参数: usage: git clone [options] [--] <repo> [<dir>] -v, --verbose be more ver ...

  10. ECMAScript 6中的数组操作方法

    本文介绍ECMAScript 6即将带给我们新的数组操作方法,以及在怎样在现有浏览器应用这些新的数组特性. Note: 我将使用交替使用构造器(constructor)和类(class)两个术语. 类 ...