`
guochongcan
  • 浏览: 327511 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android 对话框基本应用详细教程

 
阅读更多

我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等方式,重写我们自己的对话框。当然,这也是不失为一个不错的解决方式,但是一般的情况却是这样,我们重写的对话框,也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,往往有点杀鸡用牛刀的感觉,甚至会对我们的程序增加不必要的复杂性,对于这种情形的对话框有没有更优雅的解决方案呢? 
    幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,也是通过继承的方式来实现,后来随着对文档了解的深入,发现了android起始已经提供了相应的接口Dialog Builder ,下面我就吧相关的内容在这里分享一下,也能让更多的初学者少走弯路。

首先是一个最简单的应用,就是弹出一个消息框,在android中可以这样实现

new AlertDialog.Builder(self)   

.setTitle("标题")

.setMessage("简单消息框")

.setPositiveButton("确定", null)

.show();

 


效果如下:

1.png 


上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置方法,构造出我们需要的对话框,然后调用show方法显示出来,注意到Builder方法的参数 self,这个其实是Activity对象的引用,根据你所处的上下文来传入相应的引用就可以了。例如在onCreate方法中调用,只需传入this即可。


下面是带确认和取消按钮的对话框

new AlertDialog.Builder(self) 
.setTitle("确认")
.setMessage("确定吗?")
.setPositiveButton("是", null)
.setNegativeButton("否", null)
.show();



2.png 

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

下面是一个可以输入文本的对话框

 

new AlertDialog.Builder(self)
.setTitle("请输入")
.setIcon(android.R.drawable.ic_dialog_info)
.setView(new EditText(self))
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.show();




3.png 

如上代码,我们用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();
               

 


4.png 

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();



6.png 


最后,在对话框中显示图片

ImageView img = new ImageView(self);
img.setImageResource(R.drawable.icon);
new AlertDialog.Builder(self)
.setTitle("图片框")
.setView(img)
.setPositiveButton("确定", null)
.show();



7.png 

      我们传入了一个ImageView来显示图片,这里显示了一个经典的android小绿人图标~ ~,当然这里还可以放上网络图片,具体的实现方法就不介绍了。

分享到:
评论

相关推荐

    Android应用源码之android 自定义对话框.zip

    通过分析这个源码,开发者可以深入理解Android对话框的工作原理,以及如何灵活地对其进行自定义。这对于开发具有个性化的用户体验的应用程序至关重要。同时,这个例子也可以作为学习Android UI设计和事件处理的一个...

    android对话框基础版

    在本教程中,我们将探讨如何创建一个基础版的Android对话框,特别关注`AlertDialog`的使用。`AlertDialog`是Android SDK提供的一种标准对话框样式,可以轻松地定制内容、按钮和主题。 首先,让我们了解`AlertDialog...

    自定义 Android 对话框 (AlertDialog) 的实现

    本教程将详细介绍如何在Android中实现一个完全自定义的AlertDialog,包括颜色、布局等各个方面。 首先,我们需要创建一个XML布局文件来定义对话框的界面。在"res/layout"目录下创建一个新的XML文件,例如叫做`...

    android初级对话框demo

    这篇教程将围绕“android初级对话框demo”展开,介绍如何创建和使用各种简单的Dialog,帮助初学者更好地理解和实践Android开发中的Dialog应用。 1. **基础对话框(Basic Dialog)** 基础对话框是最常见的类型,...

    Android 应用开发入门教程(经典版)

    在Android SDK的开发环境中,教程详细阐述了SDK的组成部分,如SDK Manager、Android开发工具(ADT)等。首先,开发者需要安装Java Development Kit (JDK),因为Android开发基于Java语言。接着,安装Eclipse集成开发...

    一个简单计算器程序-基于对话框.doc

    该资源是一篇关于使用 MFC 开发一个简单科学计算器程序的教程,通过创建一个基于对话框的应用程序,实现了加、减、乘、除四个基本功能,并在此基础上扩展了平方、开方、三角函数等功能。 知识点一:MFC 基础知识 *...

    Android应用开发入门教程(经典版).pdf

    ### Android应用开发入门教程知识点概览 #### 一、Android系统结构与SDK使用 ##### 1.1 系统介绍 - **Android** 是一个基于Linux内核的开放源代码移动操作系统,它由Google公司领导并支持。Android系统的设计目标...

    android对话框例子

    在Android应用开发中,对话框(Dialog)是一种重要的组件,用于与用户进行交互,提供临时的通知或确认信息,以及在不中断主界面流程的情况下展示额外的功能。本教程将深入讲解如何在Android中创建和使用Dialog,并...

    Android开发教程之Android系统搜索对话框(浮动搜索框)的使用--千锋培训

    本教程将指导你如何在你的应用程序中使用Android的搜索对话框(浮动搜索框)。 首先,你需要创建一个搜索对话框的配置文件。这个文件通常命名为`searchable.xml`,并存储在`res/xml`目录下。配置文件的主要目的是...

    Android应用源码简单的移动点餐项目

    1. Activity与Intent:在Android应用中,Activity是用户界面的基本单元,用于显示UI并处理用户交互。Intent则用于在不同的Activity之间传递数据和启动服务。在这个点餐应用中,Intent可能会用于启动新Activity,比如...

    Android应用源码之进度条对话框Demo.rar

    本教程通过一个名为"Android应用源码之进度条对话框Demo"的项目,详细介绍了如何在Android应用程序中实现进度条对话框。 1. **进度条对话框的基本概念** 进度条对话框是Android提供的一个对话框类,继承自...

    Android基础教程PPT

    总的来说,这个基础教程涵盖了Android工程的创建、导入、SDK版本切换以及运行配置的基本步骤,是初学者入门Android开发的重要指南。通过实际操作和理解这些概念,开发者将能够构建自己的第一个Android应用。在后续...

    体会android的强大,最详细的对话框教程.doc

    在这个最详细的对话框教程中,我们将深入探讨如何利用Builder模式来构建各种类型的对话框。 首先,最基本的对话框是消息对话框,它通常包含一个标题、消息内容以及一个或两个操作按钮。以下是一个简单的示例: ```...

    android各种对话框的组合使用

    本教程将深入探讨如何在Android应用中组合使用各种类型的对话框。 1. **基本对话框(AlertDialog)** 基本对话框是最常见的对话框类型,包括标题、消息文本、一个或多个按钮。可以通过`AlertDialog.Builder`来创建...

    android模仿百度地图自定义对话框

    本教程将详细讲解如何模仿百度地图的对话框进行自定义设计,以实现更加美观且符合应用场景的提示信息。 首先,我们了解自定义对话框的基本步骤: 1. **创建布局文件**: 在res/layout目录下,创建一个新的XML布局...

    Android实现对话框、列表框、单选复选框以及时间进度框代码

    本教程将详细解释如何在Android中实现这些功能,并提供源码实例。 一、对话框 对话框在Android中通常用于向用户展示警告、确认或请求输入。在本示例中,我们使用`AlertDialog.Builder`来构建一个简单的确认对话框。...

    程矢AndroidUI之菜单对话框.rar

    在这个教程中,程矢老师通过老二牛车教育平台详细讲解了如何在Android应用中创建和使用这些元素。 首先,菜单在Android应用中主要用于提供多种操作选项,通常出现在屏幕顶部的选项栏或者通过点击汉堡菜单按钮展开。...

    Android实现登录对话框.pdf

    本教程将详细解释如何在Android中实现一个登录对话框。 首先,我们需要一个XML布局文件来定义对话框的视图。在这个例子中,我们有两个XML布局文件:`dialog.xml` 和 `main.xml`。`dialog.xml` 通常会包含用户名、...

Global site tag (gtag.js) - Google Analytics