Android 对话框中的进度条

yeaperyeo 2010-11-30

先看效果图:

首先需要创建ProgressDialog对象,然后使用线程控制进度条显示,具体源代码:

packagecom.yarin.android.TestOnPDialog;

importandroid.app.Activity;

importandroid.app.ProgressDialog;

importandroid.content.DialogInterface;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.widget.Button;

publicclassPDialogextendsActivity

{

privateButtonmButton01,mButton02;

intm_count=0;

//声明进度条对话框

ProgressDialogm_pDialog;

@Override

publicvoidonCreate(BundlesavedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//得到按钮对象

mButton01=(Button)findViewById(R.id.Button01);

mButton02=(Button)findViewById(R.id.Button02);

//设置mButton01的事件监听

mButton01.setOnClickListener(newButton.OnClickListener(){

@Override

publicvoidonClick(Viewv)

{

//TODOAuto-generatedmethodstub

//创建ProgressDialog对象

m_pDialog=newProgressDialog(PDialog.this);

//设置进度条风格,风格为圆形,旋转的

m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

//设置ProgressDialog标题

m_pDialog.setTitle("提示");

//设置ProgressDialog提示信息

m_pDialog.setMessage("这是一个圆形进度条对话框");

//设置ProgressDialog标题图标

m_pDialog.setIcon(R.drawable.img1);

//设置ProgressDialog的进度条是否不明确

m_pDialog.setIndeterminate(false);

//设置ProgressDialog是否可以按退回按键取消

m_pDialog.setCancelable(true);

//设置ProgressDialog的一个Button

m_pDialog.setButton("确定",newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,inti)

{

//点击“确定按钮”取消对话框

dialog.cancel();

}

});

//让ProgressDialog显示

m_pDialog.show();

}

});

//设置mButton02的事件监听

mButton02.setOnClickListener(newButton.OnClickListener(){

@Override

publicvoidonClick(Viewv)

{

//TODOAuto-generatedmethodstub

m_count=0;

//创建ProgressDialog对象

m_pDialog=newProgressDialog(PDialog.this);

//设置进度条风格,风格为长形

m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

//设置ProgressDialog标题

m_pDialog.setTitle("提示");

//设置ProgressDialog提示信息

m_pDialog.setMessage("这是一个长形对话框进度条");

//设置ProgressDialog标题图标

m_pDialog.setIcon(R.drawable.img2);

//设置ProgressDialog进度条进度

m_pDialog.setProgress(100);

//设置ProgressDialog的进度条是否不明确

m_pDialog.setIndeterminate(false);

//设置ProgressDialog是否可以按退回按键取消

m_pDialog.setCancelable(true);

//让ProgressDialog显示

m_pDialog.show();

newThread()

{

publicvoidrun()

{

try

{

while(m_count<=100)

{

//由线程来控制进度。

m_pDialog.setProgress(m_count++);

Thread.sleep(100);

}

m_pDialog.cancel();

}

catch(InterruptedExceptione)

{

m_pDialog.cancel();

}

}

}.start();

}

});

}

}

转载http://blog.sina.com.cn/s/blog_49b6b5590100l126.html

相关推荐