zoukankan      html  css  js  c++  java
  • 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中Intent传递对象的两种方法(Serializable,Parcelable)
    Android安全机制(2) Android Permission权限控制机制
    Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
    finder怎么才能找到library
    Mac下Android Studio中获取SHA1和MD5
    andorid 自定义seekbar
    C# Sending data using GET or POST ZZ
    gmail
    load dll
    C# Read/Write another Process' Memory ZZ
  • 原文地址:https://www.cnblogs.com/llguanli/p/8732895.html
Copyright © 2011-2022 走看看