• 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必学——AsyncTask
    成员变量 局部变量
    Java中private、protected、public和default的区别
    实现图片的一个轮转功能
    vmware14克隆后UUID相同的解决方法
    curl
    python3 configparser模块
    python2.7系统性能监控psutil模块
    mysql5.7.22tar包安装
    通过pip3安装ipython
  • 原文地址:https://www.cnblogs.com/llguanli/p/8732895.html
Copyright © 2020-2023  润新知