参考资料:http://www.oschina.net/question/54100_32486

注:代码进行了整理

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。

1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

 //一般的Dialog
public void normalDialog(){
AlertDialog.Builder bulider =new Builder(MainActivity.this);
bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
bulider.setTitle("提示");
bulider.setMessage("你确定你要关掉它?");
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
dialog.dismiss();
MainActivity.this.finish(); }
});
bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
bulider.create().show(); }
 new AlertDialog.Builder(MachineRegister.this)
.setTitle("提示")
.setMessage("设备注册成功")
.setPositiveButton("确定",
new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method }
//当点击返回时,就停留在本界面
})
.setNegativeButton("返回",
new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,
int which) { } }).show();

2.改变了对话框的图表,添加了三个按钮

 //三个按钮的对话框
public void sanDialog(){
AlertDialog.Builder bulider =new Builder(MainActivity.this);
bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
bulider.setTitle("提示");
bulider.setMessage("你确定你要关掉它?");
//最左边的按钮(positive :积极地)
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
dialog.dismiss();
MainActivity.this.finish(); }
});
//最右边的钮(negative:消极的)
bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
//中间的钮
bulider.setNeutralButton("逗你玩", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub }
});
bulider.create().show(); }

3.信息内容是一个简单的View类型

 //信息内容是一个简单的View类型
public void shuruDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("请输入"); //放进去任意简单的view
builder.setView(new EditText(this));
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}

4.信息内容是一组单选框

 //信息内容是单选框
public void danxuanDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("单选框");
//定义单选框
builder.setSingleChoiceItems(new String[]{"item1","item2"} ,0, new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
//对选择项绑定事件 }
});
builder.setNegativeButton("取消", null); builder.create().show();
}

5.信息内容是一组多选框

  //信息内容是复选框
public void fuxuanDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("复选框");
//定义复选框
builder.setMultiChoiceItems(new String[]{"item1","item2"}, null, null);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}

6.信息内容是一组简单列表项

  //信息内容是简单地列表项

     public void liebiaoDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("列表项");
//定义复选框
builder.setItems(new String[]{"item1","item2"}, null);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}

7.信息内容是一个自定义的布局

dialog布局文件代码如下:

 <?xml version="1.0" encoding="utf-8"?>

   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_height="wrap_content" android:layout_width="wrap_content"
   android:background="#ffffffff" android:orientation="horizontal"
   android:id="@+id/dialog">
   <TextView android:layout_height="wrap_content"
   android:layout_width="wrap_content"
   android:id="@+id/tvname" android:text="姓名:" />
   <EditText android:layout_height="wrap_content"
   android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
  </LinearLayout>

创建dialog方法的代码如下:

LayoutInflater inflater = getLayoutInflater();
   View layout = inflater.inflate(R.layout.dialog,
   (ViewGroup) findViewById(R.id.dialog));
   new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
   .setPositiveButton("确定", null)
   .setNegativeButton("取消", null).show();

好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。


注意:在使用dialog增加按钮选项的时候,

 bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() {
应该是红色字体部分,而写成:
bulider.setPositiveButton("确定", new OnClickListener() {
往往会报错,详细·····

Android Dialog对话框的七种形式的使用的更多相关文章

  1. Android Dialog对话框

    Dialog的基本方法 //创建Dialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); //设 ...

  2. Dialog对话框的几种方式使用实现

    package com.loaderman.dialogdemo; import android.app.ProgressDialog; import android.content.DialogIn ...

  3. Android控件——7种形式的Android Dialog使用举例(转载)

    在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...

  4. 8种形式的Android Dialog使用举例

    在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...

  5. Android开发手记(13) 几种Alertdialog的使用

    本文主要讨论七种形式的AlertDialog,及其编写方法. 1.退出 在用户退出的时候提示用户是否退出,含有“确定”和“退出”两个按键. btnExit.setOnClickListener(new ...

  6. Android Dialog使用举例

    在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...

  7. C/C++ Qt Dialog 对话框组件应用

    在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDial ...

  8. Android之UI--打造12种Dialog对话框

    最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...

  9. Android下常见的四种对话框

    摘要:在实际开发过程有时为了能够和用户进行很好的交互,需要使用到对话框,在Android中常用的对话框有四种:普通对话框.单选对话框.多选对话框.进度对话框. 一.普度对话框 public void ...

随机推荐

  1. 【Flutter学习】事件处理与通知之事件处理

    一,概述 移动应用中一个必不可少的环节就是与用户的交互,在Flutter中提供的手势检测为GestureDetector. Flutter中的手势系统分为二层: 第一层是触摸原事件(指针) Point ...

  2. Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码

    之前的文章一直在介绍OC,最近也是在找急忙慌的学习IOS,所以Android方面的知识分享就有点中断了,但是我现在还是要靠Android吃饭,所以不能Android的工作不能停呀,今天咋们来看一下我在 ...

  3. 工程师技术(三):独立Web站点的快速部署、虚拟Web主机的部署、配置网页内容访问、使用自定Web根目录、配置安全Web服务、部署并测试WSGI站点

    一.独立Web站点的快速部署 目标: 本例要求为 http://server0.example.com 配置Web站点,要求如下: 1> 从http://classroom/pub/materi ...

  4. 【Java架构:基础技术】一篇文章搞掂:MyBatis-Plus

    前言 Mybatis:一个流行的半自动ORM框架. Mybatis-Plus:一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发.提高效率而生. 本文使用的版本:myb ...

  5. sqlserver 找不到驱动,显示项目缺少class办法

    maven使用 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId> ...

  6. Java第四次作业,面向对象高级特性(继承和多态)

    Java第四次作业-面向对象高级特性(继承和多态) (一)学习总结 1.学习使用思维导图对Java面向对象编程的知识点(封装.继承和多态)进行总结. 2.阅读下面程序,分析是否能编译通过?如果不能,说 ...

  7. 一个python练习

    问题描述: 有一对兔子,每隔3个月就生一对兔子,生下来的兔子也是每隔3个月就生兔子,以此类推... 用python模拟出来: #!/usr/bin/python3 import random impo ...

  8. python正常时间和unix时间戳相互转换的方法

    python正常时间和unix时间戳相互转换的方法 本文实例讲述了python正常时间和unix时间戳相互转换的方法.分享给大家供大家参考.具体分析如下: 这段代码可以用来转换常规时间格式为unix时 ...

  9. Struts1.3——文件上传和下载

    1.Struts文件上传 在Web开发中,会经常涉及到文件的上传和下载,比如在注册账户的时候,我们需要上传自己的头像等. 我们可以利用Struts很方便地实现文件的上传. 1.1 开发步骤 现在,假设 ...

  10. keepalive+Haproxy

    1.keepalive Keepalived 是一款轻量级HA集群应用,它的设计初衷是为了做LVS集群的HA,即探测LVS健康情况,从而进行主备切换,不仅如此,还能够探测LVS代理的后端主机的健康状况 ...