`

ProgressDialog

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
<Button android:text="圆形进度条" android:id="@+id/Button01"  
        android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>  
<Button android:text="长型进度条" android:id="@+id/Button02"  
        android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
</LinearLayout>
 
package com.ProgressDialog;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MyProgressDialog extends Activity {
    /** Called when the activity is first created. */
	 private ProgressDialog mpDialog;  
	 private Button btn1,btn2;  
	 private int mCount = 0;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        btn1 = (Button) this.findViewById(R.id.Button01);  
        btn2 = (Button) this.findViewById(R.id.Button02);  
        btn1.setOnClickListener(new OnClickListener(){  
  
            @Override  
            public void onClick(View v) {  
                mpDialog = new ProgressDialog(MyProgressDialog.this);  
                mpDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置风格为圆形进度条  
                mpDialog.setTitle("提示");//设置标题  
                mpDialog.setIcon(R.drawable.icon);//设置图标  
                mpDialog.setMessage("这是一个圆形进度条");  
                mpDialog.setIndeterminate(false);//设置进度条是否为不明确  
                mpDialog.setCancelable(false);//设置进度条是否可以按退回键取消  
                mpDialog.setButton("确定", new DialogInterface.OnClickListener(){  
  
                    @Override  
                    public void onClick(DialogInterface dialog, int which) {  
                        dialog.cancel();
                                                  
                    }  
                      
                });
                mpDialog.show();  
            }  
              
        });  
        btn2.setOnClickListener(new OnClickListener(){  
  
            @Override  
            public void onClick(View v) {  
                mCount = 0;  
                mpDialog = new ProgressDialog(MyProgressDialog.this);  
                mpDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  
                mpDialog.setTitle("提示");  
                mpDialog.setIcon(R.drawable.icon);  
                mpDialog.setMessage("这是一个长型进度条");  
                mpDialog.setMax(100);  
                mpDialog.setProgress(0);  
                mpDialog.setSecondaryProgress(50);  
                mpDialog.setIndeterminate(false);  
                mpDialog.setCancelable(false);  
                mpDialog.setButton("取消", new DialogInterface.OnClickListener(){  
  
                    @Override  
                    public void onClick(DialogInterface dialog, int which) {  
                        dialog.cancel();  
                          
                    }  
                      
                });  
                new Thread(){  
                    public void run(){  
                        try{  
                            while(mCount<=100){  
                                mpDialog.setProgress(mCount++);  
                                Thread.sleep(100);  
                            }  
                            mpDialog.cancel();  
                        }catch(Exception ex){  
                            mpDialog.cancel();  
                        }  
                    }  
                }.start();  
                mpDialog.show();  
            }  
              
        });
    }
}
 
分享到:
评论
1 楼 lucane 2011-02-23  
LZ,ProgressDialog可不可以动态的在长型进度条和圆形进度条之间动态变化呢
一个ProgressDialog动态变化

相关推荐

Global site tag (gtag.js) - Google Analytics