ProgressBar作用是在界面上显示一个进度条。
用法也很简单,代码如下:
android:id="@+id/progressbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal" //设置进度条的样式为水平进度条(默认为圆形进度条)
android:max="100" //设置一个最大值
/>
private Button buttonOne;
private ProgressBar progressBar;
private Handler handler;
private TimerTask task; //这是一个抽象类
private Timer timer; //定义一个定时器 Timer是一个普通的类,里面有几个方法
private int progress = 0; //初始化进度条的值
private boolean isfull = false; //用来判断进度条是否已经读取完
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonOne = (Button)findViewById(R.id.buttonOne);
progressBar = (ProgressBar)findViewById(R.id.progressbar);
buttonOne.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
//用handler对象里面的handleMessage方法来进行消息处理.
handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what){
case 0x001:
progressBar.setVisibility(View.VISIBLE); //设置进度条为可见
buttonOne.setVisibility(View.INVISIBLE); //设置按钮为隐藏
progressBar.setProgress(progress); //改变进度条的值
break;
case 0x002:
progressBar.setVisibility(View.GONE); //删除进度条
buttonOne.setVisibility(View.VISIBLE); //设置按钮为可见
task.cancel(); //结束线程
timer.cancel();
Toast.makeText(MainActivity.this,"加载完成",Toast.LENGTH_LONG).show();
break;
}
}
};
task = new TimerTask() {
public void run() {
if (!isfull){
if (progress < 100){
progress++;
handler.sendEmptyMessage(0x001);
}else{
handler.sendEmptyMessage(0x002);
}
}
}
};
}
}