Bamboy节点进度条 完全自定义 颜色节点均可控(附源码)
2018-04-08 本文已影响115人
尘少少少
前段时间公司项目需要一个带节点的进度条,
本来想偷个懒从网上找一个,
结果找了几个都不满意。
要不然就是用遮罩原理,
要不然就是用图片拼接,
这样的话缺点很明显,
实现方式Low就先不说,
颜色、节点尺寸、节点数量全都不可控,
要不然就是不能控制精准进度。
于是我就自己写了一个,
完全用Canvas画出来的,
所以颜色、节点数量、尺寸全都是可随意控制的,
还顺手加上了监听。
老规矩,
先上效果:
节点进度条
下面开启干货模式。
第一步:
把NounProgressBar拷贝到你的项目中,
如果想要监听的话就一块拷贝进来
NounProgressBar
由于是自定义View,
所以会用到一些自定义属性,
所以连带arrts.xml一起拷贝进来
arrts.xml
准备工作完成,
下面就开始使用吧。
第二步:
在Layout中使用NounProgressBar。
<!-- 节点进度条 -->
<com.bamboy.nounprogress.NounProgressBar
android:id="@+id/noun_progress"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_centerHorizontal="true"
app:colorFinished="#2BBC69"
app:colorUnfinished="#DDDDDD"
app:heightNoun="50"
app:heightProgress="25"
app:nounCount="5"
app:progressMax="100" />
ps:不会导入自定义属性的同学请看源码或自行百度,
这个知识点不在本贴中详细说明。
第三步:
Java代码中的使用。
// 设置进度
noun_progress.setProgress(75);
// 设置进度条的监听器
noun_progress.setProgressListener(new OnProgressListener() {
@Override
public void onProgress(NounProgressBar progressBar, int progress) {
// 显示进度
tv_value.setText("监听:" + progress + "/" + progressBar.getProgressMax());
}
});
// 利用属性动画控制进度条
ObjectAnimator.ofFloat(noun_progress, "progress", 1, 25).setDuration(250).start();
至此就差不多了,
欢迎大家伙儿共同探讨。
尘少老规矩,附源码:
https://download.csdn.net/download/bamboy_/10328600
但是现在CSDN下载资源强制需要积分,
不想花积分的同学可以加QQ群:569614530,
群里艾特尘少就可以找到我。
也可以克隆我的Git仓库,
还有其他各种酷炫效果收入囊中:
https://github.com/Bamboy120315/bamboy.git
手机扫码下载App一睹为快: