`
gryphone
  • 浏览: 433616 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ProgressDialog 使用

阅读更多
ProgressDialog

[功能]
ProgressDialog 也是一种Dialog
一般 在出现ProgressDialog  后台都会再开辟Thread 来做一些耗时的工作 我演示的是从100数到0 这段时间既不太长 不用浪费时间等待 同时 也能明显地看出效果



[代码]
1. ProgressDialog 使用
public void startProgress(){
    	//to start Progress
    	pd = ProgressDialog.show(this, "loop from 100 to 0!", "is looping...", true,
    			false);
    	//pd.setIcon(R.drawable.icon);
    }



2. 开辟一个Thread来从100数到0 在数完后 关闭ProgressDialog
public class TaskLoop implements Runnable {
		@Override
		public void run() {
			// TODO Auto-generated method stub
			loop(5000);
			
			messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE);
		}
    	
    }

public void loop(long i){
    	long j = i;
    	while(j>0){
    		Log.d("tag",j+"");
    		
    		j = j-1;
		}

    }



3. 运行该Thread
Thread loop = new Thread(new TaskLoop());
loop.start();


4.定义一个Handler 用于接受 关闭ProgressDialog 的通知
private Handler messageListener = new Handler(){
    	public void handleMessage(Message msg) {
			switch(msg.arg1){
			case TASK_LOOP_COMPLETE:
				pd.dismiss();
				break;
				
			}
		}
    };



[所有代码]
public class MyProgressUsage extends Activity {
	public final static int TASK_LOOP_COMPLETE = 0;
	
	ProgressDialog pd;
	
	TextView tv;
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        findViewById(R.id.start).setOnClickListener(new OnClickListener(){
			public void onClick(View v) {
				// TODO Auto-generated method stub
				startLoop();
			}
        });
    }
    
    public void startLoop(){
    	
    	startProgress();
    	
    	Thread loop = new Thread(new TaskLoop());
    	loop.start();
    }
    
    
    public class TaskLoop implements Runnable {
		@Override
		public void run() {
			// TODO Auto-generated method stub
			loop(5000);
			
			messageListener.sendEmptyMessage(TASK_LOOP_COMPLETE);
		}
    	
    }
    
    public void startProgress(){
    	//to start Progress
    	pd = ProgressDialog.show(this, "loop from 100 to 0!", "is looping...", true,
    			false);
    	//pd.setIcon(R.drawable.icon);
    }
    
    //to do some time-cost task
    public void loop(long i){
    	long j = i;
    	while(j>0){
    		Log.d("tag",j+"");
    		
    		j = j-1;
		}

    }
    
    private Handler messageListener = new Handler(){
    	public void handleMessage(Message msg) {
			switch(msg.arg1){
			case TASK_LOOP_COMPLETE:
				pd.dismiss();
				break;
				
			}
		}
    };
    
}



http://dl.iteye.com/upload/picture/pic/52676/11cd6622-cb13-337a-bd52-007185e972c0.png
over!
分享到:
评论

相关推荐

    Android ProgressDialog使用总结

    这篇文章将对Android ProgressDialog的使用进行详细总结。 首先,我们来看ProgressDialog的创建方式: 1. **方式一**:直接通过构造函数创建一个ProgressDialog对象,然后调用`show()`方法显示。例如: ```java ...

    Android 对话框中的进度条 ProgressDialog

    在内部,ProgressDialog使用了一个ProgressDrawable对象来绘制进度条,我们可以通过反射或者自定义DialogFragment来修改这个drawable,以实现更复杂的进度条效果。 然而,随着Android版本的更新, ProgressDialog在...

    Android 自带progressDialog的使用

    在本文中,我们将深入探讨如何在Android应用程序中有效地使用自带的ProgressDialog。 首先,ProgressDialog有两种主要类型:`ProgressDialog`和`ProgressBar`。`ProgressDialog`是模态对话框,它会阻止用户与应用的...

    菊花加载ProgressDialog

    在你的压缩包文件`MyProressBar`中,可能包含了一个自定义进度条的实现,或者是一个封装了ProgressDialog使用方式的工具类。通过查看这个文件,你可以学习如何将默认的ProgressDialog与自定义的菊花加载效果结合,...

    android中ProgressDialog的使用

    这个"android中ProgressDialog的使用"主题主要涵盖了如何在Android应用中创建、配置和管理ProgressDialog,以及相关的最佳实践。 1. **ProgressDialog的创建** ProgressDialog可以通过继承自Activity的`showDialog...

    ProgressDialog进度条使用

    在“ProgressDialog进度条使用Demo”中,我们将学习如何在Android应用中有效地使用ProgressDialog。以下是一些关键知识点: 1. **导入依赖**:首先,确保在项目的build.gradle文件中包含了对Android支持库的依赖,...

    ProgressDialog

    这个demo旨在为初学者展示如何有效地使用ProgressDialog,以便他们在自己的应用中实现类似功能。 在Android开发中,ProgressDialog通常有两种样式:圆形进度条和水平进度条。圆形进度条常用于未知进度的任务,而...

    android关于ProgressBar和ProgressDialog的使用

    通过以上讲解,你应该对在Android中使用`ProgressBar`和`ProgressDialog`有了深入的理解。在DialogTest项目中,你可以找到这些概念的具体实现,这将有助于你进一步熟悉和掌握这两个控件的使用。记住,良好的用户体验...

    progressDialog进度对话框的创建

    本文将详细介绍如何创建和使用`ProgressDialog`,以及相关知识点。 首先,`ProgressDialog`是`AlertDialog`的一个子类,因此它的用法与`AlertDialog`类似,但提供了更具体的进度展示功能。创建`ProgressDialog`的...

    android ProgressDialog 自定义样式

    在使用自定义ProgressDialog时,可以通过这些方法控制加载状态: ```java CustomProgressDialog progressDialog = new CustomProgressDialog(this); progressDialog.startLoading(5000); // 5秒后自动停止 ...

    AlertDialog和ProgressDialog界面对话框的使用

    本主题主要关注两种常见的对话框:AlertDialog和ProgressDialog,以及如何与基础控件如TextView、Button、EditText和ImageView结合使用。 **AlertDialog** AlertDialog是Android SDK提供的一种模态对话框,它有三...

    android 自定义组合progressdialog进度条

    android 自定义组合progressdialog进度条,方便你的使用............................................................................................

    ProgressDialog_android源码_

    在使用ProgressDialog时,我们通常会用到以下关键方法: 1. `show()`: 显示ProgressDialog。 2. `dismiss()`: 隐藏或取消ProgressDialog。 3. `incrementProgressBy(int increment)`: 增加进度条的值。 4. `...

    CustomProgressDialog

    这个组件的出现主要是为了解决在Android原生ProgressDialog使用过程中可能出现的各种问题,如UI卡顿、内存泄漏以及样式不统一等。 首先,原生的Android ProgressDialog有时可能会导致用户界面冻结,给用户带来不...

    android自定义ProgressDialog样式

    android自定义ProgressDialog样式详解,一分钟教会你如何自定义android样式。

    自定义progressDialog

    在Android开发中,`ProgressDialog`是系统提供的一种用于显示进度的对话框,通常在执行耗时操作如数据加载、文件上传或下载时使用,给用户一个反馈,让他们知道应用程序正在处理事务而不会卡死。然而,系统默认的`...

    Android 自定义ProgressDialog实例

    首先,我们需要了解ProgressDialog的基本使用。它有两种形式:一种是带圆形进度条的,另一种是不带进度条的文字提示。通过`ProgressDialog.show()`方法可以创建并显示ProgressDialog,通过`ProgressDialog.dismiss()...

    自定义ProgressDialog

    3. **使用自定义ProgressDialog**:在需要显示自定义ProgressDialog的地方,实例化这个类并调用`show()`方法。 ```java CustomProgressDialog dialog = new CustomProgressDialog(context); dialog.show(); ``` 4....

    ProgressDialog应用实例

    可以使用AsyncTask或者其他异步处理机制,在任务开始时显示ProgressDialog,任务执行过程中更新进度,任务结束后关闭ProgressDialog。 例如,以下是一个使用AsyncTask的简单示例: ```java private class ...

Global site tag (gtag.js) - Google Analytics