对话框详解1

本文演示了两种特殊对话框--ProcessDialog的使用方法:

主程序如下:

public class Main extends Activity implements OnClickListener {
	private static final int MAX_PROGRESS = 100;
	private ProgressDialog progressDialog;
	private Handler progressHandler;
	private int progress;

	// 显示进度对话框,style表示进度对话框的风格
	private void showProgressDialog(int style) {
		progressDialog = new ProgressDialog(this);
		progressDialog.setIcon(R.drawable.wait);
		progressDialog.setTitle("正在处理数据...");
		progressDialog.setMessage("请稍后...");
		// 设置进度对话框的风格
		progressDialog.setProgressStyle(style);
		// 设置进度对话框的进度最大值
		progressDialog.setMax(MAX_PROGRESS);
		// 设置进度对话框的【暂停】按钮
		progressDialog.setButton("暂停", new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int whichButton) {
				// 通过删除消息代码的方式停止定时器
				progressHandler.removeMessages(1);
			}
		});
		// 设置进度对话框的【取消】按钮
		progressDialog.setButton2("取消", new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int whichButton) {
				// 通过删除消息代码的方式停止定时器的执行
				progressHandler.removeMessages(1);
				// 恢复进度初始值
				progress = 0;
				progressDialog.setProgress(0);
			}
		});
		progressDialog.show();
		progressHandler = new Handler() {
			@Override
			public void handleMessage(Message msg) {
				super.handleMessage(msg);
				// if (progressDialog.getProgress() >= MAX_PROGRESS)
				if (progress >= MAX_PROGRESS) {
					// 进度达到最大值,关闭对话框
					progress = 0;
					progressDialog.dismiss();

				} else {
					progress++;
					// 将进度递增1
					progressDialog.incrementProgressBy(1);
					// 随机设置下一次递增进度(调用handleMessage方法)的时间
					progressHandler.sendEmptyMessageDelayed(1,
							50 + new Random().nextInt(500));

				}
			}
		};

		// 设置进度初始值
		progress = (progress > 0) ? progress : 0;
		progressDialog.setProgress(progress);
		progressHandler.sendEmptyMessage(1);
	}

	public void onClick(View view) {
		switch (view.getId()) {
		case R.id.button1:
			// 显示进度条风格的进度对话框
			showProgressDialog(ProgressDialog.STYLE_HORIZONTAL);
			break;

		case R.id.button2:
			// 显示旋转指针风格的进度对话框
			showProgressDialog(ProgressDialog.STYLE_SPINNER);
			break;
		}
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button button1 = (Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		Button button2 = (Button) findViewById(R.id.button2);
		button2.setOnClickListener(this);

	}
}
时间: 2024-10-26 17:07:15

对话框详解1的相关文章

Android Dialog对话框详解_Android

废话不多说了,直接给大家贴代码了. 布局文件xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_paren

Android Dialog 对话框详解及示例代码_Android

Android Dialog 对话框 1.Dialog介绍 2.AlertDialog的基本使用 3.自定义对话框 Custom Dialog 一.Dialog介绍 Dialog也是Android中常用的用户界面元素,他同Menu一样也不是View的子类.让我们看一下它的继承关系: 这里要留意一下他的直接子类 AlertDialog,和间接子类 DatePickerDialog,ProgressDialog,TimePickerDialog,其中后三个我们在前面的章节已经讲过,今天我们把重点放在

Extjs Ext.MessageBox.confirm 确认对话框详解_extjs

Ext.MessageBox.confirm()详解 显示一个确认对话框,用来代替JavaScript标准的confirm()方法,具有两个按钮"是"和"否"如果为其提供一个回调函数,则该函数将在单击按钮后被调用(包括右上角的推出按钮),所单击按钮的id将被作为唯一的参数传递到回调函数中. 调用格式: confirm(String title,String msg,[function fn],[Object scope]) 参数说明: Ext.MessageBox.

对话框详解0

对话框是人机交互的重要组成部分,android中使用AlertDialog.Builder类来创建对话框,本文详解了各种对话框的创建方法: ps:本文采用activity托管的方式来创建对话框,即使用onCreateDialog方法来创建.当调用Activity类的showDialog方法时,系统会调用onCreateDialog方法来返回一个dialog,即showDialog将参数传进onCreateDialog方法.如果使用一般的创建方法,则和程序方法里面的做法相同. main.xml布局

javascript的对话框详解与参数_基础知识

对话框可以分为模式对话框和无模式对话框两种,两者区别是在对话框被关闭之前用户能否在同一应用程序的其他地方进行工作.举例说明:打开文件对话框便是典型的模式对话框,在你选择好要打开的文件按下确定后,或者取消打开文件操作后,才可以在同一应用程序进行其他操作.而常见的查找和替换对话框便是无模式对话框的典型,在该对话框打开的同时,我们还可以进行其他工作.模式对话框会始终保持焦点.除非关闭对话框,否则无法切换窗口. 无模式对话框不会始终保持焦点,但始终保持显示在最前端. 弹出网页窗口全攻略(html/hta

ExtJS Ext.MessageBox.alert()弹出对话框详解_extjs

复制代码 代码如下: Ext.onReady(function() { Ext.Msg.alert('提示', '逗号分隔参数列表'); //这种方式非常常见的 }); 效果图: 复制代码 代码如下: Ext.onReady(function() { //定义 JSON(配置对象) var config = { title:'提示', msg: 'JSON配置方式,简单吧' } Ext.Msg.show(config); }); 效果图: 上边我只是简单举例,好了看到了漂亮的界面了吧!接下来认识

Android AlertDialog对话框详解及实例

Android  AlertDialog 关系图如下: Android主要提供四种对话框: 1:AlertDialog:功能最丰富,实际应用最广的对话框. 2:ProgressDialog:进度条对话框 3:DatePickerDialog:日期选择器对话框 4:TimePickerDialog:时间选择器对话框 创建一个对话框的步骤: AlertDialog.Builder builder = new AlertDialog.Builder(this) // 1:设置对话框标题 .setTit

对话框详解2

本文演示了如何创建一个悬浮对话框,即将activity以对话框的方式显示. 只要指定Activity的主题是dialog即可: android:theme="@android:style/Theme.Dialog" 对于onTouchEvent方法:1.悬浮对话框(Activity) 单击屏幕上的任意地方都会触发       2.对话框  要想使用对话框的onTouchEvent方法.则必须继承AlertDialog类 本例先进入的是一个悬浮对话框(Activity),单击显示日期后弹

Android开发入门(一)详解活动 1.6 显示复杂对话框

除了"对话框"进度条,也可以创建一个显示"操作进度"的对话框,例如显示正在下载的状态. 1. 创建一个工程:Dialog. 2. main.xml中的代码. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" andro