一:progressbar,为进度条组件。
二:实现,附上xml文件中的配置
如下:<ProgressBar
android:max="100"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/progressbar"
style="?android:attr/progressBarStyleHorizontal"/> 此处需定义stytle,默认为一个圆形的。
实现原理:由于没有涉及下载,所以在此使用线程来实现,贴上代码:
备注:dowork方法只是为了获取进度值,date数组没什么用
private void init(){
progressbar=(ProgressBar) findViewById(R.id.progressbar);
button=(Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
final Handler hand=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if(msg.what==1){
progressbar.setProgress(statue);
}
}
};
new Thread(){
@Override
public void run() {
super.run();
//循环°返回值,符合则继续发送
while(statue<100){
statue=dowork();
Message mes=new Message();
mes.what=1;
hand.sendMessage(mes);
}
}
}.start();
}
});
}
private int dowork(){
date[xiabiao++]=(int)(Math.random()*100);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return xiabiao;
}
}