Android进度条实例-实现模拟下载进…

来源:互联网 发布:用友协同办公软件 编辑:程序博客网 时间:2024/05/20 10:15
Android进度条实例-实现模拟下载进度条的效果

XML文件
Android进度条实例-实现模拟下载进度条的效果

.JAVA文件
packagecom.example.progressbartest2;

importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.app.Activity;
importandroid.widget.ProgressBar;

public class MainActivityextends Activity {

int hasData=0;
//记录ProgressBar的完成进度
intmProgressBarStatus=0;
int status = 0;
@Override
protected void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取我们的ProgressBar
final ProgressBarbar1=(ProgressBar) super.findViewById(R.id.bar);
final ProgressBarbar2=(ProgressBar) super.findViewById(R.id.mybar);
//创建一个负责更新的Handler
final Handler mHandler=newHandler(){
//当有消息发送来的时候就调用这个方法
public voidhandleMessage(Message msg){
if(msg.what==0x11){
bar1.setProgress(status);
bar2.setProgress(status);
}
}
};
//启动线程来执行任务
new Thread(){
public void run(){
while(status<100){
//获取好事操作的完成百分比
status=doWork();
//发送消息到Handler
Message m=newMessage();
//设置一个校验码,用来判断消息是否来自于子线程 
m.what=0x11;
//发送消息
mHandler.sendMessage(m);
}
}
}.start();
}
//模拟一个耗时操作
public intdoWork(){
  try{
Thread.sleep(100);
}
catch(InterruptedExceptione){
e.printStackTrace();
}
hasData++;
return hasData;
}
}

0 0
原创粉丝点击