1. 范例说明
- 常看见Windows窗口程序里或Flash程序的“加载中”对话框,在Android里,则是通过ProgressDialog来运行,这个类封装在Android.app.ProgressDialog里。
- 该范例将设计一个按钮,在单击按钮之后开始线程的周期,在运行的过程中显示ProgressDialog,最后当线程运行完毕时,选择结束ProgressDialog对话窗口。
2. 运行结果
3. 编写代码
Button.OnClickListener myShowProgressBar = new Button.OnClickListener() { public void onClick(View arg0) { final CharSequence strDialogTitle = getString(R.string.str_dialog_title); final CharSequence strDialogBody = getString(R.string.str_dialog_body); final CharSequence strDone = getString(R.string.str_dialog_done); // 显示Progress对话框 myDialog = ProgressDialog.show(MainActivity.this, strDialogTitle, strDialogBody, false); myDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mTextView1.setText(strDialogBody); new Thread() { public void run() { try { /* 在这里写上要后台执行的程序片段 */ /* 为了明显看见效果,以暂停3秒作为示范 */ sleep(3000); } catch (Exception e) { e.printStackTrace(); } finally { // 卸除所建立的myDialog对象。 myDialog.dismiss(); } } }.start(); /* 开始执行线程 */ }
4. 扩展学习与作业
1.继承关系:
ProgressDialog->AlertDialog->Dialog->Object
2.查看Reference
3.Android 对话框中的进度条ProgressDialog
http://www.eyeandroid.com/thread-9844-1-1.html
作业:
1.写一个有进度更新的ProgressDialog
2.思考:如何在线程执行完毕后更新TextView内容为“正确执行完毕!”
视频讲解:http://www.eyeandroid.com/thread-9847-1-1.html