`
java-mans
  • 浏览: 11741932 次
文章分类
社区版块
存档分类
最新评论

Android:AlertDialog.Builder创建常见对话框

 
阅读更多

1.提示
先来说一下“提示”(提示几秒后就会消失),也许你只是想提示一下,不需要对方反馈,甚至不需要对方一定看见,也许你需要的是这个:

Toast.makeText(QueryCarInfoActivity.this, "上传数据成功", Toast.LENGTH_SHORT).show(); 
//从资源文件string.xml 里面取提示信息
Toast.makeText(QueryCarInfoActivity.this, getString(R.string.hello), Toast.LENGTH_SHORT).show();

参数:
Toast.LENGTH_SHORT: Show the view or text notification for a short period of time
Toast.LENGTH_LONG: Show the view or text notification for a long period of time

2.使用new AlertDialog.Builder(context)创建一个对话框
(1)确定框
点击时,弹出一个消息框

	/**
	 * 确定框
	 */
	private void dialogShowOK() {
		new AlertDialog.Builder(this)
		.setTitle("确定框")
		.setMessage("简单消息框")
		.setPositiveButton("确定", new DialogInterface.OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				//按钮事件
			}
		})
		.show();
	}

(2)确定取消框
确定还是取消,it is a problem,当你做某项操作时,弹出一个提示,来确保操作无误。如删除文件时,提示“确认删除文件”;当按返回按钮时,提示“确认退出”等。

	/**
	 * 确定取消框
	 */
	private void dialogShowOKCancel() {
		new AlertDialog.Builder(this)
		.setTitle("确定取消框")
		.setIcon(R.drawable.down)
		.setMessage("确定退出吗")
		.setPositiveButton("确定", new DialogInterface.OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				//确定按钮事件
				setResult(RESULT_OK);
//				dialog.dismiss();
				finish();
			}
		})
		.setNegativeButton("取消", new DialogInterface.OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				//取消按钮事件
//				dialog.dismiss();
			}
		})
		.show();
	}

	/**
	 * 按返回键提示是否退出
	 */
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
			   dialogShowOKCancel();
		}
		return false;
	}

(3)多按钮
改变了对话框的图表,添加了三个按钮

	/**
	 * 多按钮
	 */
	private void dialogShowButton() {
		new AlertDialog.Builder(this)
		.setIcon(R.drawable.down)
		.setTitle("文件")
		.setMessage("请选择您的操作:")
		.setPositiveButton("保存", new DialogInterface.OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				Toast.makeText(TestDialogActivity.this, "保存文件", Toast.LENGTH_LONG).show();
			}
		})
		.setNegativeButton("返回", new DialogInterface.OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				Toast.makeText(TestDialogActivity.this, "返回继续编辑文件", Toast.LENGTH_LONG).show();
			}
		})
		.setNeutralButton("清空", new DialogInterface.OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				Toast.makeText(TestDialogActivity.this, "清空文件", Toast.LENGTH_LONG).show();
			}
		})
		.show();	
	}

(4)输入框
通过setView()方法,为对话框传入了一个文本编辑框,当然,你可以传入任意视图对象,如图片框。

	/**
	 * 输入框
	 */
	private void dialogShowInput() {
		new AlertDialog.Builder(this)
		.setTitle("请输入")
		.setIcon(R.drawable.info)
		.setView(new EditText(this))
		.setPositiveButton("确定", null)
		.setNegativeButton("取消", null)
		.show();
	}


上面的两个null参数,这里要放的其实是这两个按钮点击的监听程序,由于我们这里不需要监听这些动作,所以传入null值简单忽略掉,但是实际开发的时候一般都是需要传入监听器的,用来响应用户的操作。

(5)图片框

	/**
	 * 图片框
	 */
	private void dialogShowImage() {
		ImageView imgView = new ImageView(this);
		imgView.setImageResource(R.drawable.image);
		new AlertDialog.Builder(this)
		.setTitle("图片框")
		.setView(imgView)
		.setPositiveButton("确定", null)
		.show();
	}

(6)单选框

	/**
	 * 单选框
	 */
	private void dialogShowRadio() {
		String[] s = new String[] {"选项1", "选项2", "选项3", "选项4"};
		new AlertDialog.Builder(this)
		.setTitle("单选框")
		.setIcon(R.drawable.down)
		.setSingleChoiceItems(s, 0, new DialogInterface.OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				// TODO Auto-generated method stub
				dialog.dismiss();
			}
		})
		.setNegativeButton("取消", null)
		.show();
	}

(7)多选框

	/**
	 * 多选框
	 */
	private void dialogShowCheck() {
		String[] s = new String[] {"选项1", "选项2", "选项3", "选项4"};
		new AlertDialog.Builder(this)
		.setTitle("多选框")
		.setIcon(R.drawable.down)
		.setMultiChoiceItems(s, null, null)
		.setPositiveButton("确定", null)
		.setNegativeButton("取消", null)
		.show();
	}

(8)列表框

	/**
	 * 列表框
	 */
	private void dialogShowList() {
		String[] s = new String[] {"列表1", "列表2", "列表3"};
		new AlertDialog.Builder(this)
		.setTitle("列表框")
		.setIcon(R.drawable.down)
		.setItems(s, null)
		.setPositiveButton("确定", null)
		.show();
	}

分享到:
评论

相关推荐

    Android 之AlertDialog.Builder的常用方式

    在Android开发中,`AlertDialog`是系统提供的一种用于与用户交互的对话框组件,它能够以弹出窗口的形式展示信息,接收用户输入或执行特定操作。`AlertDialog.Builder`是构建`AlertDialog`对象的主要工具,提供了丰富...

    AlertDialog.Builder多种不同用法

    `AlertDialog.Builder`是创建`AlertDialog`实例的主要工具类,它提供了多种不同的构造方法和方法来定制对话框的外观和行为。下面我们将深入探讨`AlertDialog.Builder`的用法。 1. 创建`AlertDialog.Builder` 首先,...

    封装AlertDialog.Builder方法工程

    这个工程文件`AlertDialogBuilder`很可能包含了上述功能的扩展和封装,可能包括自定义主题、自定义布局、多按钮处理等。它可能会提供一些方便的方法,例如: - `showSimpleAlert(String title, String message)`:...

    Android对话框AlertDialog.Builder使用方法详解

    `AlertDialog.Builder` 是创建和定制`AlertDialog` 的便捷工具,它允许开发者通过链式调用来构建对话框。本文将详细介绍如何使用`AlertDialog.Builder` 创建各种类型的对话框。 首先,最基础的`AlertDialog` 使用...

    Android:【确认/取消】对话框

    在Android开发中,【确认/取消】对话框是用户交互中的常见元素,它用于提示用户进行重要的决策,比如是否删除文件。这样的对话框通常被称为YN(Yes/No)Dialog,因为它提供“是”和“否”两个选项。下面将详细讨论...

    Android项目设计与开发:警报对话框.ppt

    嵌入式Android项目设计与开发 第四章 基本控件编程 ——警告对话框 警告对话框 AlertDialog可以在当前的界面...创建alertDialogBuilder对象后,通过调用它的create()方法就可以构造出一个对话框 AlertDialog alertDialo

    Android使alertDialog.builder不会点击外面和按返回键消失的方法

    在Android开发中,有时我们需要创建一个对话框(AlertDialog)来显示一些重要信息或进行用户交互,但不希望用户通过点击对话框外部或者按下设备的返回键来轻易地关闭它。在这种情况下,我们可以调整AlertDialog的...

    Android高级应用源码-Android中实现Iphone样式的AlertDialog.rar

    这个压缩包文件"Android高级应用源码-Android中实现Iphone样式的AlertDialog.rar"提供了一个源码示例,帮助开发者理解如何在Android平台上创建具有苹果风格对话框的高级应用。 在Android系统中,AlertDialog是原生...

    android 使用alertdialog创建自定义对话框

    总结,创建自定义`AlertDialog`是Android开发中的常见任务,通过`AlertDialog.Builder`和自定义布局,我们可以构建出功能丰富的对话框,提供良好的用户体验。而`CustomListDialog`可能是包含列表元素的自定义对话框...

    Android入门第九篇之AlertDialog.docx

    在Android开发中,`AlertDialog`是一种常见的用户交互组件,它用于显示警告、确认或提供用户输入等场景。AlertDialog与Windows编程中的Dialog有所不同,因为它是非阻塞的,这意味着它不会阻止用户与应用程序的其他...

    Android alertDialog对话框.rar

    综上所述,`Android alertDialog对话框.rar`资源包含了关于如何在Android应用中创建和定制`AlertDialog`的相关知识,从基础使用到高级自定义,以及可能的示例图片和详细文档。这些内容对于开发者理解并熟练运用`...

    Android alertDialog对话框.zip

    通过`AlertDialog.Builder`类,我们可以自定义这些元素,创建符合应用需求的对话框。 1. **创建Builder对象**: 要构建`AlertDialog`,我们需要先创建一个`AlertDialog.Builder`实例。这可以通过指定上下文...

    Android Studio —— AlertDialog(多选对话框)

    在本文中,我们将深入探讨如何在Android Studio中使用`AlertDialog`创建多选对话框,以及相关的知识点。 首先,`AlertDialog`是Android SDK中的一个类,它允许开发者在用户界面中展示临时的通知或询问。多选对话框...

    Android创建对话框的三种方式

    以上就是Android中创建对话框的三种常见方式。`AlertDialog.Builder`是最常用的方法,提供了丰富的配置选项;`AlertDialog.create()`适合快速展示简单的对话框;而自定义布局则适用于需要高度定制的场景。根据项目...

    安卓Android源码——alertDialog.rar

    首先,你需要创建一个`AlertDialog.Builder`对象,这是构建`AlertDialog`的基础。你可以通过调用`new AlertDialog.Builder(Context)`来实例化它,传入当前的上下文环境。 2. **设置对话框内容**: - **消息**:...

    Android alertDialog对话框-IT计算机-毕业设计.zip

    在"Android alertDialog对话框-IT计算机-毕业设计.zip"的源码示例中,我们可以深入学习如何在Android应用中创建和使用`AlertDialog`。 `AlertDialog`通常由三部分组成:标题、内容和按钮。标题可以显示一些重要的...

    自定义主题改变AlertDialog样式

    `AlertDialog`是Android系统中的一个基础对话框组件,用于展示重要的信息或进行简单的用户交互。本篇文章将深入讲解如何通过自定义`style`来改变`AlertDialog`的样式,包括其背景图片、按钮图片、标题样式、标题栏...

    Android中实现Iphone样式的AlertDialog.rar

    Android的`AlertDialog.Builder`类是创建对话框的基础。首先,需要实例化一个Builder对象,然后通过调用`setCustomTitle()`, `setMessage()`, `setPositiveButton()`和`setNegativeButton()`等方法来设置对话框的...

    安卓实现Iphone样式的AlertDialog.zip

    在Android开发中,为了提供与iOS相似的用户体验,开发者有时会希望实现类似iPhone风格的对话框(AlertDialog)。这个"安卓实现Iphone样式的AlertDialog.zip"压缩包提供的就是一个示例,展示了如何在Android应用中...

Global site tag (gtag.js) - Google Analytics