首先我们来看看效果图

1.简单的消息提示框
// 简单消息提示框
private void showExitDialog01(){  new AlertDialog.Builder(this)  .setTitle("标题")  .setMessage("简单的消息提示框")  .setPositiveButton("确定", null)  .show();
}

其中this代表的是上下文context的意思,这里的this代表当前Activity的引用,为什么使用this能传递一个context呢?因为Activity本身就是Context的一个子类。
setTitle:设置标题文字
setMessage:设置对话框显示内容
setPositiveButton:设置确认按钮,第二个参数可以传入一个监听事件,可以自定义确认按钮的事件监听
show:显示该对话框

2.带“是”和“否”的提示框
// 带“是”和“否”的提示框
private void showExitDialog02(){  new AlertDialog.Builder(this)  .setTitle("带确定键的提示框")  .setMessage("确定吗")  .setPositiveButton("是", null)  .setNegativeButton("否", null)  .show();
}

setNegativeButton:设置否定按钮,第二个参数可以传入自定义的事件监听,为null则使用系统默认的事件监听

3.可输入文本的提示框
// 可输入文本的提示框
private void showExitDialog03(){  final EditText edt = new EditText(this);  edt.setMinLines(3);  new AlertDialog.Builder(this)  .setTitle("请输入")  .setIcon(android.R.drawable.ic_dialog_info)  .setView(edt)  .setPositiveButton("确定", new DialogInterface.OnClickListener() {  public void onClick(DialogInterface arg0, int arg1) {  text_01.setText(edt.getText().toString());  }  })  .setNegativeButton("取消", null)  .show();
}

edt.setMinLines(3):设置输入框最小文本行数
setIcon:设置对话框标题图标,这里使用的是android自带的图片,我们也可以使用自己的图标
setView:给对话框添加View控件,这个控件可以是EditText,也可以是ImageView,也可以是TextView等等,只要继承了View的控件都可以传入
new DialogInterface:这里需要注意,一定要导入正确的包,不是View类下的OnClickListener,而是DialogInterface类下的OnClickListener

4.单选提示框
// 单选提示框
private void showExitDialog04(){  new AlertDialog.Builder(this)  .setTitle("请选择")  .setIcon(android.R.drawable.ic_dialog_info)  .setSingleChoiceItems(new String[]{"选项1","选项2","选项3","选项4","选项5","选项6"}, -1, new DialogInterface.OnClickListener(){  public void onClick(DialogInterface arg0, int arg1) {  switch (arg1) {  case 0:text_01.setText("选择了一");break;  case 1:text_01.setText("选择了二");break;  case 2:text_01.setText("选择了三");break;  default: break;  }  arg0.dismiss();  }  })  .setNegativeButton("取消", null)  .show();
}

setSingleChoiceItems:创建带单选按钮的列表,它有多种载入数据的方式,这里我们使用的是从字符串数组中装载数据,几个方式分别为

  1. 从资源文件中加载数据
    public Builder setSingleChoiceItems(int itemsId, int checkedItem, final OnClickListener listener)
  2. 从数据集中加载数据
    public Builder setSingleChoiceItems(Cursor cursor, int checkedItem, String labelColumn, final OnClickListener listener)
  3. 从字符串数组中加载数据
    public Builder setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)
  4. 从ListAdapter对象中加载数据
    public Builder setSingleChoiceItems(ListAdapter adpater, int checkedItem, final OnClickListener listener)

第一个参数为要加载的数据,第二个参数为默认选中的按钮,如果为0则代表第一个项目被选中,为-1则代表没有项目被选中。第三个参数可为单选列表的项目设置监听事件
onClick(DialogInterface arg0, int arg1):其中arg0代表的是当前对话框对象,可以使用arg0.dismiss来关闭当前对话框,arg1代表单选列表中单个项目的位置

5.多选提示框
// 多选提示框
private void showExitDialog05(){  new AlertDialog.Builder(this)  .setTitle("多选框")  .setMultiChoiceItems(new String[]{"选项1","选项2","选项3","选项4","选项5","选项6"}, null, null)  .setPositiveButton("确定",null)  .setNegativeButton("取消",null)  .show();
}

setMultiChoiceItems:创建带多选按妞的列表 第一个参数为要加载的数据
第二个参数可设置默认选中的按钮,比如我们想让“选项2”和“选项3”被选中,则可设置第二个参数为
new boolean[]{false,true,true,false,false,false}
第三个参数为监听事件,需要设置事件监听时则添加new DialogInterface.OnMultiChoiceClickListener()

6.列表对话框
// 列表对话框
private void showExitDialog06(){  new AlertDialog.Builder(this)  .setTitle("列表框")  .setItems(new String[]{"列表1","列表2","列表3","列表4","列表5"}, null)  .setNegativeButton("确定", null)  .show();
}

setItems:设置添加列表框,第二个参数可传入事件监听

7.显示图片的对话框
// 显示图片的对话框
private void showExitDialog07(){  ImageView img = new ImageView(this);  img.setImageResource(R.drawable.hua);  new AlertDialog.Builder(this)  .setTitle("图片框")  .setView(img)  .setPositiveButton("确定", null)  .show();
}

这个对话框的实现其实和第3个可输入文本的提示框实现方式一样,都是通过setView添加View控件达到显示效果

详解-Android各种提示框相关推荐

  1. 详解 Android 的 Activity 组件

    本文详细介绍了 Android 应用编程中 Activity 的生命周期.通信方式和 Intent Filter 等内容,并提供了一些日常开发中经常用到的关于 Activity 的技巧和方法.通过本文 ...

  2. okhttp post php,Android_详解Android中使用OkHttp发送HTTP的post请求的方法,HTTP POST 和 PUT 请求可以包含要 - phpStudy...

    详解Android中使用OkHttp发送HTTP的post请求的方法 HTTP POST 和 PUT 请求可以包含要提交的内容.只需要在创建 Request 对象时,通过 post 和 put 方法来 ...

  3. android dialog 详解,详解android dialog自定义实例

    现在很多应用程序的提示对话框都很有个性的,如果你使用的对话框样子还是传统的对话框,是不是有点LOST了呢?今天爱站技术频道小编就给大家讲讲详解android dialog自定义实例. 第一个需求:简单 ...

  4. 详解android高仿微信后台接受消息,发送通知,监测网络连接

    公司让我研究websocket,利用这个时间写了个仿微信的demo. 服务器端功能比较简单:转发给所有的client (类似与群聊) android端功能:service后台接受消息:broadcas ...

  5. 详解Android主流框架不可或缺的基石

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架 ...

  6. android自定义吐司通知,IOS 仿Android吐司提示框的实例(分享)

    直接上代码 #import @interface ShowToastView : UIView +(void)showToastView:(UIView *)uiview WithMessage:(N ...

  7. adb shell 命令详解,android, adb logcat

    http://www.miui.com/article-275-1.html http://noobjava.iteye.com/blog/1914348 adb shell 命令详解,android ...

  8. android 上下偏差怎么写_详解 Android 热更新升级如何突破底层结构差异?

    知道了 native 替换方式兼容性问题的原因,我们是否有办法寻求一种新的方式,不依赖于 ROM 底层方法结构的实现而达到替换效果呢? 我们发现,这样 native 层面替换思路,其实就是替换 Art ...

  9. android studio 导入包分不分动态静态,详解Android studio 动态fragment的用法

    fragment的使用时Android的基础,它有两种用法,第一个就是静态的fragment.第二个则是动态的fragment. 静态fragment直接在layout创建你想要的fragment的X ...

最新文章

  1. 通过T-SQL语句实现数据库加解密功能
  2. 35岁不是程序员的坎儿,看不清楚这件事才是!
  3. 简述ospf的各种报文
  4. 客户端用javascript填充Dropdownlist,服务器端获取不到Dropdownlist的值
  5. AI:2020年6月23日北京智源大会演讲分享之智能信息检索与挖掘专题论坛——09:10-09:55裴健教授《智能搜索:从工具到思维方式和心智》
  6. WIN32 使用 MUTEX 实现禁止多开
  7. 做事情的价值和看待方式
  8. QT学习:QT下载与安装
  9. 瓜子二手车发12月二手车价格:汉兰达奥德赛CR-V保值率居首
  10. 选择多级分类_② 供应商管理(分类、评估、选择、绩效、集成、供应商过多的对策、多级供应商管理)...
  11. linux c ecb 加密解密,OpenSSL对数组加密解密的完整实现代码
  12. springboot整合持久层技术(mysql驱动问题)
  13. 华为开始销售预装深度 Linux 的笔记本电脑
  14. 关于数学建模(或科研论文)的画图学习建议
  15. php 读取微信对账单,扣丁学堂PHP培训简述PHP如何实现微信对账单处理
  16. 数据分析师常见面试题.
  17. 小白学 Python 爬虫(11):urllib 基础使用(一)
  18. CRM项目实战第一天
  19. C++类模板和模板类
  20. java下载文件总结

热门文章

  1. php连接redis出现Redis server went away
  2. 【申报指南】2021年重庆市重点信息安全软件产品征集
  3. 浙江工商大学计算机专业考研分数,浙江工商大学2021考研分数线已公布
  4. 操作系统原理(哈工大-李治军老师)操作系统引导
  5. Java自学视频整理(可能有些链接地址已过期)
  6. Windows的.winmd文件解析
  7. Java简单实现单摆模拟
  8. 安装django-cors-headers
  9. 10个开源的顶级人工智能工具
  10. 手把手教你,本地搭建虚拟机部署微服务