Android ProgressBar学习与掌握。

今天,我主要的工作是弄进度条,因为项目要用到进度条。所以,我想弄一个10秒钟的进度条。那种慢慢增加的进度条。于是我上网上搜索了一遍,有个例子程序。我弄下来,自己改装之后达到了我要的要求,哈哈!好高兴啊!
参考网址是: http://byandby.iteye.com/blog/816494
下面说一下实现过程:
1、首先在xml文件中定义一个ProgressBar,设置它的属性如下:
<ProgressBar 
android:id="@+id/ProgressBar01" 
style="?android:attr/progressBarStyleHorizontal" 
android:layout_width="200dp" 
android:layout_height="wrap_content" 
android:visibility="gone"  //先不让它显示在屏幕上
/> 
2、设置它的值,让它随时间慢慢增长。
这里用到了线程 Thread。在run()里面做工作。下面是代码
//通过线程来改变ProgressBar的值
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
try {
//设置进度值
intCounter = i + 1;
//睡眠100毫秒,即0.1秒
Thread.sleep(100);

if (i == 98) {
Message m = new Message();

m.what = ProgressBarTestActivity.GUI_STOP_NOTIFIER;
ProgressBarTestActivity.this.myMessageHandler
.sendMessage(m);
break;
} else {
Message m = new Message();
m.what = ProgressBarTestActivity.GUI_THREADING_NOTIFIER;
ProgressBarTestActivity.this.myMessageHandler
.sendMessage(m);
}

} catch (Exception e) {
e.printStackTrace();
}
}
}

}).start();

Handler myMessageHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
//ProgressBar已经是最大值
case ProgressBarTestActivity.GUI_STOP_NOTIFIER:
xh_ProgressBar.setVisibility(View.GONE);
xh_ProgressBar2.setVisibility(View.GONE);
Thread.currentThread().interrupted();
break;
case ProgressBarTestActivity.GUI_THREADING_NOTIFIER:
if (!Thread.currentThread().isInterrupted()) {
//改变ProgressBar的当前值
xh_ProgressBar.setProgress(intCounter);
xh_ProgressBar2.setProgress(intCounter);

//设置标题栏中前景的一个进度条进度值
setProgress(intCounter);
}
break;
}
super.handleMessage(msg);
}
};
上面就是主要代码了。ProgressBar的最大值,我设置是100.我设置的是每隔0.1S,就增长一点。当100次之后就到了10S,然后就终止了。哈哈。
//ProgressBar已经是最大值
case ProgressBarTestActivity.GUI_STOP_NOTIFIER:
xh_ProgressBar.setVisibility(View.GONE);
xh_ProgressBar2.setVisibility(View.GONE);
Thread.currentThread().interrupted();
break;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值