`
java--hhf
  • 浏览: 308727 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
阅读更多

                ProgressDialog的基本用法

    ProgressDialog为进度对话框。android手机自带的对话框显得比较单一,我们可以通过ProgressDialog来自己定义对话框中将要显示出什么东西。

   首先看看progressDialog里面的方法

  setProgressStyle:设置进度条风格,风格为圆形,旋转的。
  setTitlt:设置标题
  setMessage:设置提示信息;
  setIcon:设置标题图标;
  setIndeterminate:设置ProgressDialog 的进度条是否不明确;这个属性对于ProgressDailog默认的转轮模式没有实际意义,默认下设置为true,它仅仅对带有ProgressBar的Dialog有作用。修改这个属性为false后可以实时更新进度条的进度。
  setCancelable:设置ProgressDialog 是否可以按返回键取消;

  CancelListner:当前Dialog强制取消之后将会被执行,通常用来清理未完成的任务。
  setButton:设置ProgressDialog 的一个Button(需要监听Button事件);
  show:显示ProgressDialog。

  cancel:删除progressdialog

  dismiss: 删除progressdialog 作用和cancel相同

  setProgress(intCounter);更新进度条,当然一般都需要Handler的结合来更新进度条

<!--EndFragment-->

  然后我们看看效果

 

 

  实现代码如下

package cn.android;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class SecondActivity extends Activity implements Runnable{
    /** 
     * Called when the activity is first created. 
     * Activity入口
     * */
	private Button b_dialog,b_dialog1,button;//两个按钮
	private ProgressDialog pd,pd1;//进度条对话框
	private int count;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second);//关联对应的界面
         b_dialog = (Button)this.findViewById(R.id.button_dialog);    
         b_dialog1 = (Button)this.findViewById(R.id.Button_dialog1);    
        //处理事件发生时要做的事
         b_dialog.setOnClickListener(listener);
         b_dialog1.setOnClickListener(listener);       

    }
	//定义监听器对象
    private OnClickListener listener = new OnClickListener() {
		// 鼠标按下后
		public void onClick(View v) {
		  // 得到当前被触发的事件的ID —— 类型是int
		  int id = v.getId();
		  if(id == R.id.button_dialog){
//按下确定键就会消失的进程对话框				
//             pd = new ProgressDialog(SecondActivity.this);// 创建ProgressDialog对象   
//             pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条风格,风格为圆形,旋转的  
//             pd.setTitle("提示");// 设置ProgressDialog 标题   
//             pd.setMessage("这是一个圆形进度条对话框");// 设置ProgressDialog提示信息       
//             pd.setIcon(R.drawable.icon);// 设置ProgressDialog标题图标       
//             // 设置ProgressDialog 的进度条是否不明确 false 就是不设置为不明确   
//             pd.setIndeterminate(false);                 
//             pd.setCancelable(true); // 设置ProgressDialog 是否可以按退回键取消                        
//             pd.setButton("确定", new Bt1DialogListener()); // 设置ProgressDialog 的一个Button   
//             pd.show(); // 让ProgressDialog显示    
                
 //过1秒钟就会自己消失的进程对话框
			//弹出另外一种对话框
			pd = ProgressDialog.show(SecondActivity.this, "自动关闭对话框", "Working,,,,,,1秒", true, false);
			Thread thread = new Thread(SecondActivity.this);//开启一个线程来延时		    	
		    	thread.start();//启动线程
			}else if(id == R.id.Button_dialog1){
				pd1 = new ProgressDialog(SecondActivity.this);// 创建ProgressDialog对象   
				pd1.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置进度条风格,风格为圆形,旋转的           
				pd1.setTitle("提示");// 设置ProgressDialog 标题   
				pd1.setMessage("这是一个条状进度条对话框");// 设置ProgressDialog提示信息       
				pd1.setIcon(R.drawable.secondback);// 设置ProgressDialog标题图标       
				// 设置ProgressDialog 的进度条是否不明确 false 就是不设置为不明确   
				pd1.setIndeterminate(false);                 
				pd1.setCancelable(true); // 设置ProgressDialog 是否可以按退回键取消            
				pd1.setProgress(100);// 设置ProgressDialog 进度条进度    
				pd1.show(); // 让ProgressDialog显示  
				count = 0;                                 
				new Thread() {     
                         public void run() {   
                            try {   
                               while(count <= 100) {   
                               // 由线程来控制进度   
                                pd1.setProgress(count++);   
                                Thread.sleep(100);   
                             }   
                                 pd1.cancel();   
                             } catch (Exception e) {   
                                 pd1.cancel();   
                             }   
                          }   
                      }.start();   
  	}
		}
	};
	//run的是实现
	public void run() {
		try {
			Thread.sleep(1000);//睡1秒
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
    	handler.sendEmptyMessage(0);//传送消息
	}
	//定义处理消息的对象
    private Handler handler = new Handler(){
    	//加入传消息来了就这么么办
    	public void handleMessage(Message msg){
    		pd.dismiss();//对话框消失
			Toast.makeText(SecondActivity.this, "对话框就消失了", 3).show();	
    	}
    };

    // pdButton01的监听器类   
    class Bt1DialogListener implements DialogInterface.OnClickListener {   
        @Override  
        public void onClick(DialogInterface dialog, int which) {   
            // 点击“确定”按钮取消对话框   
            dialog.cancel();   
        }   
    }   
	
}

 


 

  • 大小: 11.2 KB
  • 大小: 10 KB
  • 大小: 24.2 KB
2
0
分享到:
评论

相关推荐

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

    在本篇文章中,我们将深入探讨ProgressDialog的使用方法、特点以及如何自定义以满足特定需求。 一、ProgressDialog的基本用法 ProgressDialog通常在需要执行异步任务时使用,如下载文件、上传数据等。首先,我们...

    Android ProgressDialog进度条使用详解

    ProgressDialog通常在主线程中创建,通过`ProgressDialog.show()`方法显示,并通过`ProgressDialog.setProgress(int)`方法更新进度条的值。当任务完成后,调用`ProgressDialog.dismiss()`来关闭进度条。例如: ```...

    Android ProgressDialog的实例详解

    本实例将详细介绍如何在Android项目中使用`ProgressDialog`。 首先,为了在整个应用程序中方便地访问`ProgressDialog`,我们需要创建一个全局变量。在你的Activity类中声明如下: ```java private ProgressDialog ...

    Android 自定义ProgressDialog进度条对话框用法详解

    要创建一个自定义的ProgressDialog,首先要实例化它,然后可以通过以下方法设置不同的属性: 1. `setProgressStyle(int style)`:指定进度条样式,如上所述,可以选择 Spinner 或 Horizontal。 2. `setTitle(String...

    android中ProgressDialog与ProgressBar的使用详解

    下面我们将深入探讨这两个组件的使用方法和特点。 首先,ProgressDialog是一种对话框式的组件,它通常用来显示一个旋转的菊花或者进度条,表明应用正在进行后台任务,用户无法与界面交互,直到任务完成。...

    实例详解Android自定义ProgressDialog进度条对话框的实现

    在需要使用ProgressDialog的地方,创建`CommonProgressDialog`的实例,并调用`show()`方法显示对话框,以及`updateProgress()`方法更新进度。 ```java CommonProgressDialog dialog = new CommonProgressDialog...

    进度条ProgressBar及ProgressDialog(实例)

    ProgressBar及ProgressDialog实例详解 ProgressBar是Android系统中的一种常用组件,用于向用户展示某个耗时操作的进度,以提高用户界面的友好性。在本文中,我们将详细介绍ProgressBar的基本概念、种类、关键属性和...

    详解Android中提示对话框(ProgressDialog和DatePickerDialog和TimePickerDialog&PopupWindow)

    使用ProgressDialog有两种方式: 1. 直接调用ProgressDialog提供的静态方法`show()`显示,例如: ```java ProgressDialog.show(context, "标题", "内容", false, true); ``` 这里的参数分别代表上下文、对话框标题...

    Android Dialog使用详解

    在`onCreateView`方法中,你可以使用LayoutInflater加载自定义的XML布局文件,然后设置Dialog的内容。 为了使Dialog与主题和风格保持一致,可以使用Android的主题系统。在`styles.xml`文件中定义一个Dialog主题: ...

    android AlertDialog多种使用方法详解

    以下是关于`AlertDialog`的多种使用方法的详细讲解: 1. **普通对话框** 普通对话框是最基础的`AlertDialog`形式,它通常包含一个标题、一条消息以及一个或两个按钮(如“确定”和“取消”)。在`...

    8种android 对话框(Dialog)使用方法详解

    本文将详细介绍8种常见的Android Dialog使用方法,帮助开发者更好地理解和应用。 首先,我们来看最常见的两种Dialog类型:普通Dialog和具有多个按钮的Dialog。 1. 普通Dialog(含2个按钮) 普通Dialog通常包含一个...

    ProgressBar、ProgessDialog-用法(详解)

    ProgressBar 和 ProgressDialog 是 Android 开发中常用的两种组件,用于...通过以上信息,开发者可以根据实际需求选择使用ProgressBar或ProgressDialog,并通过自定义样式和方法控制,为用户提供良好的进度反馈体验。

    Dialog详解演示

    本篇将深入讲解`Dialog`的使用方法和常见应用场景,同时通过提供的博客示例代码加深理解。 1. **Dialog的基本使用** `Dialog`的创建通常需要以下步骤: - 创建`Dialog`实例,通常是继承自`AlertDialog.Builder`,...

    Android AlertDialog 详解.pdf

    通过合理使用`onCreateDialog(int)`、`onPrepareDialog(int, Dialog)`和`showDialog(int)`等方法,开发者可以创建出符合应用需求的交互式对话框,提升用户体验。同时,`ProgressDialog`、`DatePickerDialog`和`...

    Android典型技术模块开发详解

    3.3 基本用法 3.3.1 创建Activity 3.3.2 启动Activity 3.3.3 窗口Activity 3.3.4 Activity生命周期验证 3.4 Activity之间通信 3.4.1 Activity传递一般类型 3.4.2 Activity传递对象类型 3.4.2 Activity回传数据 3.5 ...

    android 进度条

    ### Android 进度条知识点...通过上述介绍,我们可以了解到Android中`ProgressDialog`的基本使用方法及其与`Handler`和`Thread`的结合使用技巧。合理运用这些组件和技术可以帮助我们构建出更加高效、流畅的应用程序。

Global site tag (gtag.js) - Google Analytics