进度条对话框ProgressDialog

进度条对话框ProgressDialog经常用于不能马上完成的操作,为了避免用户莫名其妙的等待,给用户一个提示。

  本例中我们演示了两种进度条:条形进度条和圆形进度条。

一、设计界面

  1、打开“res/layout/activity_main.xml”文件。

  从工具栏向activity拖出2个按钮Button。

2、打开activity_main.xml文件。

  代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >

    <Button        android:id="@+id/progress"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/progress" />

    <Button        android:id="@+id/circle"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/circle" />

</LinearLayout>

二、长按事件 

  打开“src/com.genwoxue.progress/MainActivity.java”文件。

  然后输入以下代码:  

import android.app.Activity;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;

public class MainActivity extends Activity {	//声明按钮	private Button btnCircle = null;	private Button btnProgress = null;	//声明进度条对话框	private ProgressDialog pdDialog = null;	//进度计数	int iCount = 0;

	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		//获取按钮对象		btnCircle = (Button) findViewById(R.id.circle);		btnProgress = (Button) findViewById(R.id.progress);		//设置btnCircle的事件监听		btnCircle.setOnClickListener(new OnClickListener() {

			@SuppressWarnings("deprecation")			@Override			public void onClick(View v) {				iCount = 0;				//创建ProgressDialog对象				pdDialog = new ProgressDialog(MainActivity.this);				//设置进度条风格,风格为圆形,旋转的				pdDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);				//设置ProgressDialog标题				pdDialog.setTitle("圆形进度条");				//设置ProgressDialog提示信息				pdDialog.setMessage("正在下载中……");				//设置ProgressDialog标题图标				pdDialog.setIcon(R.drawable.ic_launcher);				//设置ProgressDialog进度条进度				pdDialog.setProgress(100);				//设置ProgressDialog的进度条是否不明确				pdDialog.setIndeterminate(false);				//设置ProgressDialog是否可以按退回按键取消				pdDialog.setCancelable(true);				//设置ProgressDialog的一个Button				pdDialog.setButton("取消", new DialogInterface.OnClickListener() {

					@Override					public void onClick(DialogInterface dialog, int i) {						//点击“取消”按钮取消对话框						dialog.cancel();					}				});				//让ProgressDialog显示				pdDialog.show();				//创建线程实例				new Thread(){					public void run(){						try{							while(iCount<=100){								//由线程来控制进度								pdDialog.setProgress(iCount++);								Thread.sleep(50);							}							pdDialog.cancel();						}catch(InterruptedException e){							pdDialog.cancel();						}					}				}.start();			}		});		//设置btnProgress的事件监听		btnProgress.setOnClickListener(new OnClickListener() {

			@Override			public void onClick(View v) {				iCount = 0;				//创建ProgressDialog对象				pdDialog = new ProgressDialog(MainActivity.this);				//设置进度条风格,风格为长形				pdDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);				//设置ProgressDialog标题				pdDialog.setTitle("条形进度条");				//设置ProgressDialog提示信息				pdDialog.setMessage("正在下载中……");				//设置ProgressDialog标题图标				pdDialog.setIcon(R.drawable.ic_launcher);				//设置ProgressDialog进度条进度				pdDialog.setProgress(100);				//设置ProgressDialog的进度条是否不明确				pdDialog.setIndeterminate(false);				//设置ProgressDialog是否可以按退回按键取消				pdDialog.setCancelable(true);				//让ProgressDialog显示				pdDialog.show();				//创建线程实例				new Thread(){					public void run(){						try{							while(iCount<=100){								//由线程来控制进度								pdDialog.setProgress(iCount++);								Thread.sleep(50);							}							pdDialog.cancel();						}catch(InterruptedException e){							pdDialog.cancel();						}					}				}.start();			}		});	}

}

三、运行效果

时间: 2024-10-23 16:32:04

进度条对话框ProgressDialog的相关文章

Android 进度条对话框ProgressDialog

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:ori

Android——ProgressDialog 进度条对话框

public class ProgressDialogActivity extends Activity {    private Button btn_large_pd, btn_horizontal_pd;    // 声明进度条对话框    ProgressDialog mProgressDialog;    // 进度    int mCount = 0; @Override    protected void onCreate(Bundle savedInstanceState) { 

关于安卓开发实现进度条对话框

进度条对话框(ProgressDialog)分为圆形和横向两种类型. 方法: onCreatDialog(int id);创建一个对话框,只有在第一次创建该ID标识的Dialog时执行 onCreatDialog(int id,Bundle args);同上,带参数 onPrepareDialog(int id,Dialog dialog);在onCreateDialog之后,每次在对话框被显示之前都执行 onPrepareDialog(int id,Dialog dialog,Bundle a

Android-高级UI控件_ProgressDialog进度条对话框

代码 package com.lxt008; import android.app.Activity; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Activity01 extends Activity

【转】24. android dialog ——ProgressDialog 进度条对话框详解

原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog,如下: [java] view plaincopy //this表示该对话框是针对当前Activity的 progressDialog = new ProgressDialog(this); //设置最大值为100 progressDialog.setMax(100); //设置进度条风格STYL

Android基础控件——AlertDialog、ProgressDialog实现单选对话框、多选对话框、进度条对话框、输入框对话框

AlertDialog.ProgressDialog实现单选对话框.多选对话框.进度条对话框.输入框对话框 事先说明: 对话框应选用android.support.v7这个包底下的组件,能在低版本中展示高版本的对话框,简单的说漂亮很多 属性介绍: setCancelable : 设置对话框能否被手动关闭 步骤一:确认对话框 步骤二:单选对话框 步骤三:多选对话框 步骤四:圆形进度条对话框 步骤五:水平进度条对话框 步骤六:输入框对话框倒装句 布局文件view_username_dilog.xml

Android百日程序:进度条对话框实现

显示由Activity管理的dialog. 这种dialog有多种多样,其中比较常见的是loading的时候,显示的一个loading进度条. Android显示这样的进度条还是非常方便的,因为有现成的模块可以调用. 首先看看本程序的效果吧: 1 主界面: 2 点击这个按钮之后,显示: 进度条到了100的时候就会自动关闭,当然这里是模拟下载,真实的下载算法还需要继续完善,不过也是很简单的算法了,不算是难点. 点击Cancel或者OK按钮也可以调用函数,进行有需要的操作,这里直接显示一个Toast

进度条对话框

1-普通进度对话框 public void bt_8(View v) { final ProgressDialog progressDialog=new ProgressDialog(this); progressDialog.setTitle("提示"); progressDialog.setMessage("请等待……"); progressDialog.setCancelable(false);//防止点击其他地方就关闭 progressDialog.show

ProgressDialog进度条对话框

final ProgressDialog ps = ProgressDialog.show(MainActivity.this, "搜索网络", "请等待..."); new Thread(){ @Override public void run() { try { sleep(11000); } catch (Exception e) { // TODO: handle exception } finally{ ps.dismiss(); } } }.start(