首先是main.xml文件
代码如下:
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
android:id="@+id/myprobara"
style="?android:attr/progressbarstyle"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
android:id="@+id/myprobarb"
style="?android:attr/progressbarstylehorizontal"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
android:id="@+id/myprobarc"
style="?android:attr/progressbarstylehorizontal"
android:visibility="gone"
android:max="120"
android:progress="0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
android:id="@+id/myprobard"
android:visibility="gone"
android:max="120"
android:progress="50"
android:secondaryprogress="70"
style="?android:attr/progressbarstylelarge"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
android:id="@+id/myprobare"
android:visibility="gone"
android:max="120"
android:progress="50"
android:secondaryprogress="70"
style="?android:attr/progressbarstylesmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
android:id="@+id/mybut"
android:text="显示进度条"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
然后编写activity.java类
代码如下:
package com.example.myfirstproject;
import java.sql.date;
import java.text.simpledateformat;
import java.util.arraylist;
import java.util.list;
import java.util.timer;
import java.util.timertask;
import android.os.bundle;
import android.os.handler;
import android.os.looper;
import android.os.message;
import android.app.activity;
import android.content.pm.activityinfo;
import android.content.res.configuration;
import android.view.menu;
import android.view.view;
import android.view.view.onclicklistener;
import android.view.viewgroup;
import android.widget.*;
public class mainactivity extends activity {
private progressbar myprobara,myprobarb,myprobarc,myprobard,myprobare;
private button mybut;
protected static final int stop = 1;
protected static final int continue = 2;
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
this.myprobara = (progressbar)this.findviewbyid(r.id.myprobara);
this.myprobarb = (progressbar)this.findviewbyid(r.id.myprobarb);
this.myprobarc = (progressbar)this.findviewbyid(r.id.myprobarc);
this.myprobard = (progressbar)this.findviewbyid(r.id.myprobard);
this.myprobare = (progressbar)this.findviewbyid(r.id.myprobare);
this.mybut = (button)this.findviewbyid(r.id.mybut);
this.myprobara.setindeterminate(false);
this.myprobarb.setindeterminate(false);
this.myprobarc.setindeterminate(true);
this.myprobard.setindeterminate(false);
this.myprobare.setindeterminate(false);
this.mybut.setonclicklistener(new onclicklistenerlmpl());
}
private class onclicklistenerlmpl implements onclicklistener{
public void onclick(view view){
mainactivity.this.myprobarb.setsecondaryprogress(0);
mainactivity.this.myprobara.setvisibility(view.visible);
mainactivity.this.myprobarb.setvisibility(view.visible);
mainactivity.this.myprobarc.setvisibility(view.visible);
mainactivity.this.myprobard.setvisibility(view.visible);
mainactivity.this.myprobare.setvisibility(view.visible);
mainactivity.this.myprobara.setmax(120);
mainactivity.this.myprobarb.setmax(120);
mainactivity.this.myprobara.setprogress(0);
mainactivity.this.myprobarb.setprogress(0);
new thread(new runnable(){
public void run(){
int count = 0;
for(int i = 0;i < 10;i++){
try{
count = (i+1)*20;
thread.sleep(500);
if(i==6){
message m = new message();
m.what = mainactivity.stop;
mainactivity.this.mymessagehandler.sendmessage(m);
break;
}else{
message m = new message();
m.arg1 = count;
m.what = mainactivity.continue;
mainactivity.this.mymessagehandler.sendmessage(m);
}
}catch(exception ex){
ex.printstacktrace();
}
}
}
}).start();
}
}
private handler mymessagehandler = new handler(){
public void handlemessage(message msg){
switch(msg.what){
case mainactivity.stop:
myprobara.setvisibility(view.gone);
myprobarb.setvisibility(view.gone);
myprobarc.setvisibility(view.gone);
myprobard.setvisibility(view.gone);
myprobare.setvisibility(view.gone);
thread.currentthread().interrupt();
break;
case mainactivity.continue:
if(!thread.currentthread().isinterrupted()){
myprobara.setprogress(msg.arg1);
myprobarb.setprogress(msg.arg1);
myprobarc.setprogress(msg.arg1);
myprobard.setprogress(msg.arg1);
myprobare.setprogress(msg.arg1);
}
break;
}
}
};
}
运行效果:
以上就是对 android 进度条的知识整理,后续继续补充相关知识,谢谢大家对本站的支持!