相信大家都知道进度条是什么东西吧?ProgressBar就是用来做这东西的。
先看一下它的布局文件:
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:max="100"
android:progress="0"
android:secondaryProgress="75"/>
ProgressBar中有各异style属性,是用来给进度条设置它的显示样式的,android已经为我们设定了几种样式,我们可以选择符合你心意的样式。
max属性是指进度条最大是多少,progress是指初始化的时候进度条的进度位置,secondaryProgress是第二样式,也就是显示在进度条上比较不明显的进度,这个暂时不用理它。
我们已经把ProgressBar给注册了,接下来我们该怎么做呢?
其实跟其他组件的使用大同小异,
setProgressBarVisibility(true);
final ProgressBar progressHorizontal = (ProgressBar) findViewById(R.id.progressBar1);
setProgress(progressHorizontal.getProgress() );
首先,我们把ProgressBar设置为可见的,然后获取注册了的ProgressBar,再获取ProgressBar的当前的进度。做完这些,ProgressBar就已经可以在页面上显示了,但是这时候的进度条是没有效果的。我们需要为他设置一个线程来让它实现进度条的功能:
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0;i < 9;i++){
try{
progressHorizontal.incrementProgressBy(10);
Thread.sleep(500);
}catch(Exception e){
e.printStackTrace();
}
}
}
}).start();
我这里是用按钮来触发线程的启动的,按钮的使用这里就不多说了,现在看看这代码是这么实现功能的呢。
我为线程设置的是0.5秒走一次,而一次走的是10,进度条总长是100,所以我循环了10次,让进度条走完。
完成这些步骤后,一个完整功能的ProgressBar就做好了!