/res/layout/main.xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btn_circle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="圆形进度条" />
<Button
android:id="@+id/btn_long"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="长形进度条" />
</LinearLayout>
Java代码如下:
package com.demo.android.progressDialog;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btnCircle;
private Button btnLong;
private ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViews();
}
private void findViews() {
btnCircle=(Button) findViewById(R.id.btn_circle);
btnCircle.setOnClickListener(btnCircleOnClickListener);
btnLong=(Button) findViewById(R.id.btn_long);
btnLong.setOnClickListener(btnLongOnClickListener);
}
/**
* 显示圆形进度条
*/
private View.OnClickListener btnCircleOnClickListener=new View.OnClickListener() {
@Override
public void onClick(View v) {
progressDialog=new ProgressDialog(MainActivity.this);
//设置进度条的样式为圆形
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("提示");
progressDialog.setMessage("数据加载中,请稍后....");
//设置进度条的图标
progressDialog.setIcon(R.drawable.android);
//设置进度条是否为不明确
progressDialog.setIndeterminate(false);
//设置进度条是否按返回键取消
progressDialog.setCancelable(true);
progressDialog.setButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
progressDialog.cancel();
}
});
progressDialog.show();
}
};
/**
* 显示长形进度条
*/
private View.OnClickListener btnLongOnClickListener=new View.OnClickListener() {
int count=0;
@Override
public void onClick(View v) {
progressDialog=new ProgressDialog(MainActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setTitle("提示");
progressDialog.setMessage("数据加载中,请稍后....");
progressDialog.setIcon(R.drawable.android);
progressDialog.setIndeterminate(false);
progressDialog.setCancelable(true);
progressDialog.setMax(200); //设置最大值
progressDialog.setProgress(0); //设置当前默认进度为0
progressDialog.setSecondaryProgress(100); //设置第二进度条的值为100
progressDialog.setButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
progressDialog.cancel();
}
});
progressDialog.show();
//定义线程动态改变当前进度条的值
new Thread(){
public void run(){
while(count<=200){
progressDialog.setProgress(count++);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
};
}
}.start();
}
};
}
效果如下: