1、普通对话框:

给出提示信息,有yes、no两个按钮。

 AlertDialog dialog=new AlertDialog.Builder(this)  //this代表当前Activity对象,表示此对话框属于当前Activity对象。也可用  类名.this  指定为其它的Activity对象
.setPositiveButton("确定",null) //要加的按钮必须放在create()之前
.setNegativeButton("取消",null) //第一个参数是按钮上的文本,第二个是监听器OnClickListener,可设置为null,点击时退出对话框
.setTitle("提示") //标题
.setMessage("是否退出?") //提示信息
.setIcon(R.drawable.a) //图标,只能是R.xxx.yyy的形式
.create(); //不用create(),直接show()也行 //标题、提示信息、图标也可以后面再设置
//dialog.setTitle("提示");
//dialog.setMessage("是否退出");
//dialog.setIcon(R.drawable.a); dialog.show(); //显示对话框
//dialog.hide(); //隐藏对话框

所有对话框都有   setTitle()、setMessage()、setIcon()、show()、hide()的方法。

其中 setTitle()、setMessage()、setIcon()既可以在create()之前使用,也可以在create()创建对话框后再使用。

2、单选对话框

 AlertDialog dialog=new AlertDialog.Builder(this)
.setTitle("请选择性别")
.setIcon(R.drawable.a)
////设置一组单选按钮,第一个参数是String数组,第二参数设置默认选中的项(数组下标),第三个参数单选按钮的监听器
.setSingleChoiceItems(new String[]{"男","女"},0,null)
.show(); //不用create(),直接show()也行

3、多选对话框

 AlertDialog dialog=new AlertDialog.Builder(this)
.setTitle("请选择爱好")
.setIcon(R.drawable.a) //设置一组多选按钮,第一个参数是String数组,第二参数boolean数组,true表示该项默认选中,第三个参数是监听器
.setMultiChoiceItems(new String[]{"读书","运动","旅游"},new boolean[]{true,true,false},null)
.show();

以上三种对话框中用到的事件监听:

 new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//i代表当前按钮的编号
}
}

普通对话框中,这个事件监听是某个按钮的事件监听。

单选/多线对话框中,这个事件监听是每个选项的事件监听,即点击一个选项,就会触发事件一次。

普通对话框、单选对话框、多选对话框都是AlertDialog。进度条对话框是ProgressDialog。

4、进度条对话框

当程序在进行耗时的操作时(比如下载文件),可以用进度条对话框来显示进度。

进度条有2种样式:

                         

     水平进度条                                                圆形进度条(圆圈会一直转动)

 ProgressDialog dialog=new ProgressDialog(this);   //注意用法有点不同,没有Builder()
dialog.setTitle("下载进度"); //注意ProgressDialog的方法都只能单独写,不能在创建ProgressDialog对象时写在后面
dialog.setIcon(R.drawable.a);
dialog.setMessage("正在下载请稍后"); //文本可用setMessage()动态修改,显示当前的具体操作
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设置进度条样式
dialog.show();

5、消息对话框

消息对话框(Toast)是轻量级消息提醒机制,用于向用户显示即时消息。

Toast对话框显示在程序界面的最上层(最前面),显示一段时间后自动消失,不会打断当前操作,也不会获取焦点,只起到提示作用。

 //makeText()是Toast类的静态方法。
//第一个参数指定消息对话框所属的Activity,可用Activity类名.this指定其他的,第二个参数指定提示文本,第三个参数是Toast类的预定义常量,指定显示时间的长短。
//要调用show()才会显示。
Toast.makeText(this,"电量不足10%!",Toast.LENGTH_LONG).show();

Android提供的对话框的更多相关文章

  1. android 8种对话框(Dialog)使用方法汇总

    1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮).列表.单选.多选.等待.进度条.编辑.自定义等多种形式,将在第2部分介绍 ...

  2. 常用的android弹出对话框

    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...

  3. Android详细的对话框AlertDialog.Builder使用方法

      我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继 ...

  4. 经常使用的android弹出对话框

    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其它平台开发经验的朋友都会知道,大部分的平台都仅仅提供了几个最简单的实现,假设我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承 ...

  5. Android 自学之对话框

    Android为我们提供了丰富的对话框支持,提供了四种常用的对话框: AlertDialog:功能丰富.实际应用最广泛的对话框. ProgressDialog:进度对话框,该对话框只用于简单的进度条封 ...

  6. android弹出对话框

    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...

  7. 【Android】Android 8种对话框(Dialog)

    1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮).列表.单选.多选.等待.进度条.编辑.自定义等多种形式,将在第2部分介绍 ...

  8. Android开发 DialogFragment对话框详解

    前言 在聊DialogFragment之前,我们看看以往我们在Android里实现一个对话框一般有这几种方式: Dialog 继承重写Dialog实现一个自定义的Dialog AlertDialog ...

  9. Android之Builder对话框的一些常用方式

    原文: http://blog.csdn.net/kkfdsa132/article/details/6322835 Android为我们提供几种对话框,主要有:AlertDialog.Progres ...

随机推荐

  1. java和jar命令

    IDEA打可运行jar http://bglmmz.iteye.com/blog/2058785 -jar参数运行应用时classpath的设置方法 你是否在使用java -jar参数运行打包好的ja ...

  2. (linux)likely和unlikely函数

      在Linux内核中likely和unlikely函数有两种(只能两者选一)实现方式,它们的实现原理稍有不同,但作用是相同的,下面将结合linux-2.6.38.8版本的内核代码来进行讲解. 1.对 ...

  3. POJ2752 Seek the Name, Seek the Fame —— KMP next数组

    题目链接:https://vjudge.net/problem/POJ-2752 Seek the Name, Seek the Fame Time Limit: 2000MS   Memory Li ...

  4. 代码块、继承、this、super、final(java基础知识八)

    1.代码块的概述和分类 * A:代码块概述 * 在Java中,使用{}括起来的代码被称为代码块.* B:代码块分类 * 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块( ...

  5. LoadRunner 技巧之 IP欺骗

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量, ...

  6. java scoket客户端服务端发送消息

    客户端 public class User { public static void main(String[] args) { while (true) { try { Socket socket ...

  7. Windows Mysql启动出现1069错误 “由于登录失败而无法启动服务” 的处理方法

    问题现象 windows下mysql服务无法启动,报1069错误. 问题原因 如果Mysql启动用户的密码或者权限错误,会导致Windows服务器Mysql启动时出现"由于登录失败而无法启动 ...

  8. 【扬中集训DAY2T2】 机智的AmyZhi

    [题目链接] 点击打开链接 [算法] 据说标算是暴力? 从N-200开始搜 不过我用了搜索+一些奇怪的剪枝,也A了.... [代码] 标程 #include<bits/stdc++.h> ...

  9. struts2通用标签

    Struts2框架为我们提供了很多标签,这些标签总体上可以分为两类:通用标签和UI标签.通用标签分为两类:数据标签和控制标签.数据标签用于访问值栈中数据,控制标签用于控制呈现页面时数据执行流程.使用S ...

  10. 推荐几本javascript与jquery的好书

    有人说只要了解了javascript的基本语法,就可以通过看别人的代码来学习javascript了,我不敢苟同.代码是死的,它很难让你有自己的想法,而一本好书如果结构清晰,各个章节都立意明确循序渐进( ...