/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();
- }
- };
- }
效果如下: