我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢?
幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,也是通过继承的方式来实现,后来随着对文档了解的深入,发现了android起始已经提供了相应的接口Dialog Builder ,下面我就吧相关的内容在这里分享一下,也能让更多的初学者少走弯路。
首先是一个最简单的应用,就是弹出一个消息框,在android中可以这样实现
new AlertDialog.Builder(self)
.setTitle("标题")
.setMessage("简单消息框")
.setPositiveButton("确定", null)
.show();
效果如下:
上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置方法,构造出我们需要的对话框,然后调用show方法显示出来,注意到Builder方法的参数 self,这个其实是Activity对象的引用,根据你所处的上下文来传入相应的引用就可以了。例如在onCreate方法中调用,只需传入this即可。
下面是带确认和取消按钮的对话框
new AlertDialog.Builder(self)
.setTitle("确认")
.setMessage("确定吗?")
.setPositiveButton("是", null)
.setNegativeButton("否", null)
.show();
注意到,这里有两个null参数,这里要放的其实是这两个按钮点击的监听程序,由于我们这里不需要监听这些动作,所以传入null值简单忽略掉,但是实际开发的时候一般都是需要传入监听器的,用来响应用户的操作。
下面是一个可以输入文本的对话框
new AlertDialog.Builder(self)
.setTitle("请输入")
.setIcon(android.R.drawable.ic_dialog_info)
.setView(new EditText(self))
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.show();
如上代码,我们用setView方法,为我们的对话框传入了一个文本编辑框,当然,你可以传入任何的视图对象,比如图片框,WebView等。。尽情发挥你的想象力吧~:lol
下面是单选框与多选框,也是非常有用的两种对话框
new AlertDialog.Builder(self)
.setTitle("请选择")
.setIcon(android.R.drawable.ic_dialog_info)
.setSingleChoiceItems(new String[] {"选项1","选项2","选项3","选项4"}, 0,
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
}
}
)
.setNegativeButton("取消", null)
.show();
new AlertDialog.Builder(self)
.setTitle("多选框")
.setMultiChoiceItems(new String[] {"选项1","选项2","选项3","选项4"}, null, null)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.show();
单选和多选对话框应该是我们平时用的非常多的,代码应该很好理解,下面再最后介绍两个、
列表对话框
new AlertDialog.Builder(self)
.setTitle("列表框")
.setItems(new String[] {"列表项1","列表项2","列表项3"}, null)
.setNegativeButton("确定", null)
.show();
最后,在对话框中显示图片
ImageView img = new ImageView(self);
img.setImageResource(R.drawable.icon);
new AlertDialog.Builder(self)
.setTitle("图片框")
.setView(img)
.setPositiveButton("确定", null)
.show();
我们传入了一个ImageView来显示图片,这里显示了一个经典的android小绿人图标~ ~,当然这里还可以放上网络图片,具体的实现方法就不介绍了。
分享到:
相关推荐
通过分析这个源码,开发者可以深入理解Android对话框的工作原理,以及如何灵活地对其进行自定义。这对于开发具有个性化的用户体验的应用程序至关重要。同时,这个例子也可以作为学习Android UI设计和事件处理的一个...
在本教程中,我们将探讨如何创建一个基础版的Android对话框,特别关注`AlertDialog`的使用。`AlertDialog`是Android SDK提供的一种标准对话框样式,可以轻松地定制内容、按钮和主题。 首先,让我们了解`AlertDialog...
本教程将详细介绍如何在Android中实现一个完全自定义的AlertDialog,包括颜色、布局等各个方面。 首先,我们需要创建一个XML布局文件来定义对话框的界面。在"res/layout"目录下创建一个新的XML文件,例如叫做`...
这篇教程将围绕“android初级对话框demo”展开,介绍如何创建和使用各种简单的Dialog,帮助初学者更好地理解和实践Android开发中的Dialog应用。 1. **基础对话框(Basic Dialog)** 基础对话框是最常见的类型,...
在Android SDK的开发环境中,教程详细阐述了SDK的组成部分,如SDK Manager、Android开发工具(ADT)等。首先,开发者需要安装Java Development Kit (JDK),因为Android开发基于Java语言。接着,安装Eclipse集成开发...
该资源是一篇关于使用 MFC 开发一个简单科学计算器程序的教程,通过创建一个基于对话框的应用程序,实现了加、减、乘、除四个基本功能,并在此基础上扩展了平方、开方、三角函数等功能。 知识点一:MFC 基础知识 *...
### Android应用开发入门教程知识点概览 #### 一、Android系统结构与SDK使用 ##### 1.1 系统介绍 - **Android** 是一个基于Linux内核的开放源代码移动操作系统,它由Google公司领导并支持。Android系统的设计目标...
在Android应用开发中,对话框(Dialog)是一种重要的组件,用于与用户进行交互,提供临时的通知或确认信息,以及在不中断主界面流程的情况下展示额外的功能。本教程将深入讲解如何在Android中创建和使用Dialog,并...
本教程将指导你如何在你的应用程序中使用Android的搜索对话框(浮动搜索框)。 首先,你需要创建一个搜索对话框的配置文件。这个文件通常命名为`searchable.xml`,并存储在`res/xml`目录下。配置文件的主要目的是...
1. Activity与Intent:在Android应用中,Activity是用户界面的基本单元,用于显示UI并处理用户交互。Intent则用于在不同的Activity之间传递数据和启动服务。在这个点餐应用中,Intent可能会用于启动新Activity,比如...
本教程通过一个名为"Android应用源码之进度条对话框Demo"的项目,详细介绍了如何在Android应用程序中实现进度条对话框。 1. **进度条对话框的基本概念** 进度条对话框是Android提供的一个对话框类,继承自...
总的来说,这个基础教程涵盖了Android工程的创建、导入、SDK版本切换以及运行配置的基本步骤,是初学者入门Android开发的重要指南。通过实际操作和理解这些概念,开发者将能够构建自己的第一个Android应用。在后续...
在这个最详细的对话框教程中,我们将深入探讨如何利用Builder模式来构建各种类型的对话框。 首先,最基本的对话框是消息对话框,它通常包含一个标题、消息内容以及一个或两个操作按钮。以下是一个简单的示例: ```...
本教程将深入探讨如何在Android应用中组合使用各种类型的对话框。 1. **基本对话框(AlertDialog)** 基本对话框是最常见的对话框类型,包括标题、消息文本、一个或多个按钮。可以通过`AlertDialog.Builder`来创建...
本教程将详细讲解如何模仿百度地图的对话框进行自定义设计,以实现更加美观且符合应用场景的提示信息。 首先,我们了解自定义对话框的基本步骤: 1. **创建布局文件**: 在res/layout目录下,创建一个新的XML布局...
本教程将详细解释如何在Android中实现这些功能,并提供源码实例。 一、对话框 对话框在Android中通常用于向用户展示警告、确认或请求输入。在本示例中,我们使用`AlertDialog.Builder`来构建一个简单的确认对话框。...
在这个教程中,程矢老师通过老二牛车教育平台详细讲解了如何在Android应用中创建和使用这些元素。 首先,菜单在Android应用中主要用于提供多种操作选项,通常出现在屏幕顶部的选项栏或者通过点击汉堡菜单按钮展开。...
本教程将详细解释如何在Android中实现一个登录对话框。 首先,我们需要一个XML布局文件来定义对话框的视图。在这个例子中,我们有两个XML布局文件:`dialog.xml` 和 `main.xml`。`dialog.xml` 通常会包含用户名、...