Android学习笔记——显示运行进度对话框

Posted llguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android学习笔记——显示运行进度对话框相关的知识,希望对你有一定的参考价值。

显示运行进度对话框


我们经常有这种经历:运行某一应用程序时。须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行。

我们继续在上一篇中的程序中加入代码~


1、在上一篇的activity_main.xml文件里加入一个Button,加入后的代码例如以下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/btn_dialog"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="Click to display a dialog" />

    <Button
        android:id="@+id/btn_dialog2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="onClick2"
        android:text="Click to display a progress dialog" />

</LinearLayout>

2、在MainActivity.java中加入一个onClick2()方法。加入的代码块例如以下:

	public void onClick2(View v) {
		// ---show the dialog---
		final ProgressDialog dialog = ProgressDialog.show(this,
				"Doing something", "Please wait...", true);//创建一个进度对话框
		new Thread(new Runnable() {//使用Runnable代码块创建了一个Thread线程
			@Override
			public void run() {//run()方法中的代码将在一个单独的线程中运行
				// TODO Auto-generated method stub
				try {
					// ---simulate doing something lengthy---
					Thread.sleep(5000);//模拟一个耗时5秒的操作
					// ---dismiss the dialog---
					dialog.dismiss();//5秒钟后,调用dismiss方法关闭进度对话框
				} catch (InterruptedException e) {
					// TODO: handle exception
					e.printStackTrace();
				}
			}
		}).start();
	}

3、运行。点击第二个button。效果例如以下:

技术分享图片

5秒后,进度条自己主动消失,程序恢复原来的状态~

点击下载完整代码~

以上是关于Android学习笔记——显示运行进度对话框的主要内容,如果未能解决你的问题,请参考以下文章

Android学习笔记--使用Apache HttpClient实现网络下载效果,附带进度条显示

记录学习Android基础的心得08:常用控件(中级篇)P2

显示没有文本Android的进度对话框

如何在 Android 中开始活动之前显示进度对话框?

Android学习笔记——显示对话框窗体

如何在家庭活动android上显示进度对话框?