开源项目NumberProgressBar的简单使用

NumberProgressBar是安卓中一个开源的项目,可以实现下面这种进度条效果。

项目源码下载地址:https://github.com/daimajia/NumberProgressBar
下载并解压,打开NumberProgressBar-master\library\src\main\java\com\daimajia\numberprogressbar.java,我们可以看到它与ProgressBar没有任何关系,直接继承自View
根据它的效果图,我们知道,它分为三部分,已经完成的(颜色条)、文字(百分比)、未完成的(剩下的白色条)。
好了,不多说了,开始我们的Demo吧
第一步,新建项目
第二步,右键项目新建一个Source Folder,名字随便,我喜欢使用缩写,就叫做np吧,嘿嘿。
第三步,把源码拷过来,源码在NumberProgressBar-master\library\src\main\java目录下,如图

第四步,我们看到报错了,别急,这是因为它的资源文件没有拷过来我们进入目录\NumberProgressBar-master\library\src\main\res\values我们看到三个文件
第一个:attrs.xml,直接拷贝到项目的res目录的values包下,原本是没有的,所以不用担心冲突,如果已经有了的话就复制里面resources节点中间的代码过来。
第二个:strings.xml,里面只有个appname,这个项目中已经有了,所以不用管这个文件
第三个:styles.xml,这里面是一些这个NumberProgress的几种不同颜色的样式,你可以只拷贝你需要的style过来,然后打开项目中res目录下的style粘贴代码,注意别删原有的样式,直接贴到后面就得了.

第五步:打开NumberProgressBar,也就是报错的那个源码文件,按crtl+shift+O导包,选择你的项目的包名的那个R,保存。
第六步:进入MainActivity的布局文件,即activity_main,在适当位置编辑如下代码,我是用它来把helloworld替换掉
 <com.daimajia.numberprogressbar.NumberProgressBar
        android:id="@+id/number_progress_bar"
        style="@style/NumberProgressBar_Default"
        /> 
第七步:编辑代码,我这里写在了oncrete中,代码中注释得很详细了,我就不多说了
package com.zxy.npd;

import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
import com.daimajia.numberprogressbar.NumberProgressBar;

public class MainActivity extends Activity {

private int rate;// 表示进度条的进度
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final NumberProgressBar bnp = (NumberProgressBar) findViewById(R.id.number_progress_bar);//找到自定义的这个“控件”
rate = 0;//初始化进度位置
Timer timer = new Timer();// 获取timer对象
timer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {//在UI线程中运行
@Override
public void run() {
// bnp.incrementProgressBy(1);//设置每次的增量,也可以像下面这样用个表达式来实现
rate++;//
if (rate == 110) {
bnp.setProgress(0);//进度走完后再从0开始
rate = 0;
} else {
bnp.setProgress(rate);// 设置进度
}
}
});
}
}, 1000, 100);// 程序开始1秒后执行TimerTask任务,每隔0.1秒重复一次
}
}
大功告成!运行一下。
谢谢!欢迎指正
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值