sgafdsg 2010-09-29
<?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(); } }); } }