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(); } } }
相关推荐
在本篇文章中,我们将深入探讨ProgressDialog的使用方法、特点以及如何自定义以满足特定需求。 一、ProgressDialog的基本用法 ProgressDialog通常在需要执行异步任务时使用,如下载文件、上传数据等。首先,我们...
ProgressDialog通常在主线程中创建,通过`ProgressDialog.show()`方法显示,并通过`ProgressDialog.setProgress(int)`方法更新进度条的值。当任务完成后,调用`ProgressDialog.dismiss()`来关闭进度条。例如: ```...
本实例将详细介绍如何在Android项目中使用`ProgressDialog`。 首先,为了在整个应用程序中方便地访问`ProgressDialog`,我们需要创建一个全局变量。在你的Activity类中声明如下: ```java private ProgressDialog ...
要创建一个自定义的ProgressDialog,首先要实例化它,然后可以通过以下方法设置不同的属性: 1. `setProgressStyle(int style)`:指定进度条样式,如上所述,可以选择 Spinner 或 Horizontal。 2. `setTitle(String...
下面我们将深入探讨这两个组件的使用方法和特点。 首先,ProgressDialog是一种对话框式的组件,它通常用来显示一个旋转的菊花或者进度条,表明应用正在进行后台任务,用户无法与界面交互,直到任务完成。...
在需要使用ProgressDialog的地方,创建`CommonProgressDialog`的实例,并调用`show()`方法显示对话框,以及`updateProgress()`方法更新进度。 ```java CommonProgressDialog dialog = new CommonProgressDialog...
ProgressBar及ProgressDialog实例详解 ProgressBar是Android系统中的一种常用组件,用于向用户展示某个耗时操作的进度,以提高用户界面的友好性。在本文中,我们将详细介绍ProgressBar的基本概念、种类、关键属性和...
使用ProgressDialog有两种方式: 1. 直接调用ProgressDialog提供的静态方法`show()`显示,例如: ```java ProgressDialog.show(context, "标题", "内容", false, true); ``` 这里的参数分别代表上下文、对话框标题...
在`onCreateView`方法中,你可以使用LayoutInflater加载自定义的XML布局文件,然后设置Dialog的内容。 为了使Dialog与主题和风格保持一致,可以使用Android的主题系统。在`styles.xml`文件中定义一个Dialog主题: ...
以下是关于`AlertDialog`的多种使用方法的详细讲解: 1. **普通对话框** 普通对话框是最基础的`AlertDialog`形式,它通常包含一个标题、一条消息以及一个或两个按钮(如“确定”和“取消”)。在`...
本文将详细介绍8种常见的Android Dialog使用方法,帮助开发者更好地理解和应用。 首先,我们来看最常见的两种Dialog类型:普通Dialog和具有多个按钮的Dialog。 1. 普通Dialog(含2个按钮) 普通Dialog通常包含一个...
ProgressBar 和 ProgressDialog 是 Android 开发中常用的两种组件,用于...通过以上信息,开发者可以根据实际需求选择使用ProgressBar或ProgressDialog,并通过自定义样式和方法控制,为用户提供良好的进度反馈体验。
本篇将深入讲解`Dialog`的使用方法和常见应用场景,同时通过提供的博客示例代码加深理解。 1. **Dialog的基本使用** `Dialog`的创建通常需要以下步骤: - 创建`Dialog`实例,通常是继承自`AlertDialog.Builder`,...
通过合理使用`onCreateDialog(int)`、`onPrepareDialog(int, Dialog)`和`showDialog(int)`等方法,开发者可以创建出符合应用需求的交互式对话框,提升用户体验。同时,`ProgressDialog`、`DatePickerDialog`和`...
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中`ProgressDialog`的基本使用方法及其与`Handler`和`Thread`的结合使用技巧。合理运用这些组件和技术可以帮助我们构建出更加高效、流畅的应用程序。