`

Android基础-----Progress Dialog

 
阅读更多

ProgressDialog 是Android中很常用的处理后台线程显示前台界面的工具


import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class TestProgressDialog extends Activity {
	private ProgressDialog dialog;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        dialog = new ProgressDialog(this);
		dialog.setMessage("运行中...");
		dialog.setIndeterminate(false);
		dialog.setCancelable(true);
		Button bt1=(Button)findViewById(R.id.button1);
		bt1.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
				dialog.show();
				Thread thread = new Thread(new ThreadDemo());//开始线程,程序后台,前台是dialog
				thread.start();	
				
			}
		});
    }
	    
	       final Handler handle = new Handler()
	    	{
	    		@Override
	    		public void handleMessage(Message msg) 
	    		{	
	    			if(dialog!=null)
	    			{
	    				dialog.dismiss();
	    			}
	    			
	    			
	    			if( msg.what>0 )
	    			{
	    				Toast.makeText(TestProgressDialog.this, "线程成功结束", Toast.LENGTH_SHORT).show();
	    			}
	    			else
	    			{
	    				Toast.makeText(TestProgressDialog.this, "线程出现意外", Toast.LENGTH_SHORT).show();
	    			}
	    		}   
	    	};
	    	
	        Handler endSessionHandle = new Handler()
	    	{
	    		@Override
	    		public void handleMessage(Message msg) 
	    		{	
	    			finish();
	    		}   
	    	};
	    	  class ThreadDemo implements Runnable
	          {	
	      		public void run() 
	      		{ 
	      			int what = -1;
	      			
	                  try 
	                  {
	                  	for (int i=0;i<10;i++)
	                  {
	                  	
	                  	Thread.sleep(1000);//10秒的dialog显示
	                  	if (i==9)
	                  	{what=1;//走完之后信号置1
	                  	}
	                  }
	                  	
	                  	
	      				
	      			} 
	                  catch (Exception e) 
	                  {
	                  	e.printStackTrace();
	                  	Log.e("WeiboPub", e.getMessage());
	      			}	
	      			handle.sendEmptyMessage(what);
	      		}
	      	
	      }
 }
    	
      

分享到:
评论

相关推荐

    Android应用源码之android-styled-dialogs 可自定义样式的dialog-IT计算机-毕业设计.zip

    系统提供了几种内置的Dialog样式,如Alert Dialog、Progress Dialog和Date/Time Picker Dialog等。然而,这些默认样式可能无法满足所有设计需求,因此自定义Dialog样式变得尤为重要。 `android-styled-dialogs`库...

    rx-progress-dialog-sample

    通过研究"rx-progress-dialog-sample"项目,开发者可以深入了解如何在Android应用中有效地结合使用RxJava和ProgressDialog,提升用户体验,同时遵循最佳的编程实践。对于那些想要提升Android异步编程技能的人来说,...

    android-styled-dialogs 可自定义样式的dialog.rar

    默认情况下,Android提供了几种预定义的Dialog样式,包括Alert Dialog、Progress Dialog和DatePicker/TimePicker Dialog等。Alert Dialog通常用于显示简单的信息或请求用户确认,而Progress Dialog则用于表示后台...

    Android自定义loading Dialog

    在Android开发中,自定义组件是一项常见的需求,特别是在创建用户界面时,为了提供更好的用户体验,开发者经常需要定制一些特殊的对话框(Dialog)。本教程将详细讲解如何实现一个自定义的加载对话框(Loading ...

    Android代码-ProgressDialog

    在Android开发中,ProgressDialog是一个非常常见的组件,它用于在应用程序执行耗时操作(如网络请求、数据加载等)时向用户展示进度,提供一个等待反馈的界面,避免用户感到应用卡顿或无响应。ProgressDialog通常...

    Android(Dialog).zip_android_android Dialog

    在Android开发中,Dialog是一个非常重要的组件,它用于在用户界面中显示临时的、轻量级的窗口,通常用于向用户展示信息或者请求用户的输入。本篇内容将深入探讨Android中的Dialog及其各种类型,帮助开发者更好地理解...

    Android课件(4Dialog).zip

    - 对于长时间运行的操作,考虑使用Progress Bar而不是ProgressDialog,因为后者在Android O及以上版本已废弃。 - 在适当的时候使用Dialog,例如,当用户需要确认一个操作或获取更多信息时。 7. **使用资源文件** ...

    自定义Dialog中播放视频

    在Android开发中,有时我们需要创建个性化的用户交互体验,例如在一个自定义的Dialog中播放视频。这个场景下,我们可以利用SurfaceView来实现视频播放,并且赋予它一些基本的控制功能,比如播放、暂停、显示进度条...

    android dialog进度对话框

    setContentView(R.layout.dialog_progress); // 加载GIF资源 ImageView gifView = findViewById(R.id.gif_view); Glide.with(context) .asGif() .load(R.raw.your_gif_resource) // 替换为你的GIF资源 .into...

    安卓开发-DialogShow.zip

    在Android开发中,Dialog是应用中非常常见的一种组件,它用于在用户界面的主窗口之上显示一个临时的视图,通常用于提供警告、确认信息或者简单的用户交互。本压缩包"安卓开发-DialogShow.zip"可能包含了一系列关于...

    Android代码-进度条源码.zip

    10. **Progress Dialog**: 对于需要用户等待的场景,可以使用`ProgressDialog`,它是一个模态对话框,内含一个进度条,不过在新版本的Android中已被弃用,推荐使用`AlertDialog`配合自定义视图实现类似功能。 ...

    自定义Dialog 正在加载中....

    在Android开发中,Dialog是一种常见的用户界面元素,用于在主应用程序界面之上显示临时信息或进行交互操作。"自定义Dialog 正在加载中...."这个标题暗示我们将讨论如何创建一个自定义的Dialog,特别是在Android应用...

    安卓自定义Dialog带有进度条的效果的ProgressDialog

    在Android开发中,Dialog是一种非常常见的用户界面组件,它用于在主界面之上显示临时的通知或交互窗口。ProgressDialog是Dialog的一种特殊形式,它显示一个进度条,通常用于指示后台任务的执行进度,比如文件下载、...

    Android 自定义Dialog,文字动态加载效果

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的UI风格和功能需求创建独特的对话框。本文将详细讲解如何通过继承AlertDialog来实现一个具有“加载中...”动态效果的自定义Dialog。 首先,...

    Android dialog 综合展示

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时信息、确认操作或展示选项。本篇文章将深入探讨Android Dialog的综合应用,包括各种类型的对话框及其用法。 首先,Android中...

    Android之实现带动画加载状态的Dialog

    android:id="@+id/progress_bar" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /&gt; android:id="@+id/image_view" android:...

    Android Dialog大全源码

    首先,Dialog通常分为几种类型:Alert Dialog、Progress Dialog、DatePicker Dialog、TimePicker Dialog等。每种Dialog都有其特定的用途,比如AlertDialog用于展示警告信息或提供选择项,ProgressDialog则用于显示...

    android dialog ——ProgressDialog 进度条对话框详解

    public void onProgressChanged(ProgressDialog dialog, int progress, boolean fromUser) { // 在这里处理进度变化 } }); ``` 五、自定义ProgressDialog 尽管ProgressDialog提供了基本的样式,但有时我们可能...

    android 自定义dialog

    Android系统提供了多种内置的Dialog样式,如Alert Dialog、Progress Dialog等,它们可以直接通过`AlertDialog.Builder`或`ProgressDialog`类创建。然而,这些默认样式可能无法满足所有设计需求,因此需要自定义。 ...

Global site tag (gtag.js) - Google Analytics