我的Android进阶之旅------)Android自定义View实现带数字的进度条(NumberProgressBar)
网友通过本文主要向大家介绍了我的Android进阶之旅------)Android自定义View实现带数字的进度条(NumberProgressBar)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
我的Android进阶之旅------)Android自定义View实现带数字的进度条(NumberProgressBar)
第一步、效果展示
图1、蓝色的进度条
图2、红色的进度条
图3、多条颜色不同的进度条
图4、多条颜色不同的进度条
版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.csdn.net/ouyang_peng/article/details/50859094】
第二步、自定义ProgressBar实现带数字的进度条
0、项目结构
如上图所示:library项目为自定义的带数字的进度条NumberProgressBar的具体实现,demo项目为示例项目以工程依赖的方式引用library项目,然后使用自定义的带数字的进度条NumberProgressBar来做展示
如上图所示:自定义的带数字的进度条的library项目的结构图
如上图所示:demo项目的结构图
1、绘制步骤分析
如上面几幅图形所示。这个进度条的可以分为以下三部分:
按照上面的分析,我们要实现带数字的进度条,只需要按照以下三个步骤绘制即可实现:
1、绘制reacherd area(当前进度值之前文本的进度条)
2、绘制text area(当前进度值文本)
3、绘制unreacherd area(当前进度值文本之后的进度条) 即可。
2、自定义属性
由于我们发现以上三个部分的颜色、字体大小、进度条的最大值、表示进度条的长方形的高度等属性都可以改变,从而展现出不同的界面效果。
因此我们将这些属性都做自定义属性。这样我们就能够做到像android官方提供的那些组件一样用xml来定义它的属性了。
1、定义自己的属性配置文件:attr.xml
在res/values文件下定义一个attrs.xml文件,res/values/attrs.xml定义代码如下所示:
2、定义主题配置文件:styles.xml
在res/values文件下定义一个styles.xml文件,里面定义一些基本的主题选项,以备用户可以选择使用。res/values/styles.xml定义代码如下所示: