【Android】开源项目UI控件分类汇总之ProgressBar
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工程下载。
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的更多相关文章
- 【Android】开源项目UI控件分类汇总之Dialog
接前文ProgressBar:Android开发的宝库越来越多,我开发中有需要的组件,主要参考Trinea的大作Android开源项目分类汇总(包含了后面的绝大多数).CSDN上直接拿来用!最火的An ...
- Android开源库集合(控件)
RecycleView: RecycleView功能增强 https://github.com/Malinskiy/SuperRecyclerView RecycleView功能增强(拖拽,滑动删除, ...
- Android 开源项目android-open-project解析之(二) GridView,ImageView,ProgressBar,TextView
五.GridView StaggeredGridView 同意非对齐行的GridView,类似Pinterest的瀑布流.而且跟ListView一样自带View缓存,继承自ViewGroup 项目地址 ...
- Android学习路-UI控件
- 那些年不错的Android开源项目
那些年不错的Android开源项目 转载自 eoe 那些年不错的Android开源项目-个性化控件篇 第一部分 个性化控件(View) 主要介绍那些不错个性化的View,包括ListView.Acti ...
- 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ; 一. UI 控件简介 1. UI 控件分类 UI 控件分类 : 活 ...
- Android常用酷炫控件(开源项目)github地址汇总
转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...
- Android 常用炫酷控件(开源项目)git地址汇总
第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...
- Android开源项目分类汇总
目前包括: Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ...
随机推荐
- spring中bean配置和bean注入
1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean ...
- thinkphp 3.2.3+Admin LTE后台框架
- Log4net对数据库的支持
记录到Oracle数据库中 <appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNet ...
- unix/linux中图形界面那些事
我们知道unix/linux刚开始的时候是没有图形界面的,随着时代的发展,排版.制图.多媒体应用越来越普遍了,这些需求都需要用到图形界面(Graphical User Interface).为此,MI ...
- Android版Ftp服务端软件
分享一款开发的Android版Ftp服务端软件,支持Android4.0及以上版本,可以实现局域网无线传输文件到手机,或者把手机上的多媒体文件分享到iPad等设备来扩展这些设备的存储空间,详情请见软件 ...
- windows下面go语言环境搭建
步骤一:golang下载 下载地址是:http://www.golangtc.com/download 下载完成之后解压缩,放到你的c:/根目录下面.然后配置一下环境变量! 环境变量配置如下: 1.新 ...
- MSSQL自动备份数据库
最近项目中,需要用到MSSQL自动定时备份功能,本来想利用C#自己写一个的,但是听说在MSSQL2008中已经集成了功能强大的自动备份功能,于是便提刀上阵,狠狠地琢磨了一番: 首先,打开MSSQL20 ...
- 剑指架构师系列-Hibernate需要掌握的Annotation
1.一对多的关系配置 @Entity @Table(name = "t_order") public class Order { @Id @GeneratedValue priva ...
- sitemesh学习笔记(2)
之前我也是通过网上一些资料来学习sitemesh的,后来发现那些资料都比较老了,现在最近的已经是sitemesh3了而我之前看的是sitemesh2.3,今天重新去看了一些sitemesh3的资料,发 ...
- IE11之F12 Developer Tools--DOM Explorer
使用DOM Explorer工具查看网页的DOM状态.检查HTML结构和CSS样式,并测试更改以解决显示问题.这可以在元素位置错误或行为异常时帮助你诊断问题,然后解决问题. DOM Explorer图 ...