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. setTimeout 传递的方法

    function waitExe(param){ if(time < 20){ time ++; $("#content").html(time); var self=thi ...

  2. em和i , b和Strong 的区别

    这两对标签最大区别就是一个给搜索引擎看的,一个是给用户看的. b标签和strong标签给我们的主观感受都是加粗,但对搜索引擎来说b标签和普通的文字并没有什么区别,而strong标签却是起强调作用的. ...

  3. vue2-editor富文本基础使用方法

    vue2-editor的入门使用准备工作: 使用 npm install vue2-editor --save 安装到项目中去: 使用 在需要的单文件内引入 import { VueEditor } ...

  4. POJ1094 Sorting It All Out —— 拓扑排序

    题目链接:http://poj.org/problem?id=1094 Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Tot ...

  5. MD5Util1

    package com.cc.hkjc.util; import java.math.BigInteger;import java.security.MessageDigest;import java ...

  6. Java中的switch语句

    switch可以替代if..else..,另外据说switch采用二分搜索,效率会更高一点. switch(type) { case 1 : type_name="INCOMING" ...

  7. SPOJ:Help BTW(二分)

    BTW wants to buy a gift for her BF and plans to buy an integer array. Generally Integer arrays are c ...

  8. iOS 观察者模式(KVO)的简单使用

    KVO的全称是Key-Value Observing,它实现了一种机制,对所关心的属性对象添加观察者,当属性值发生变化时会得到通知,我们可以对变化做相应的处理.看过设计模式的同学应该知道,这是一种典型 ...

  9. BZOJ_1492_[NOI2007]货币兑换Cash_CDQ分治+斜率优化

    BZOJ_1492_[NOI2007]货币兑换Cash_CDQ分治+斜率优化 Description 小Y最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券 ...

  10. 容器vector 迭代器iterator 应用

    #include <iostream> #include <vector> using namespace std; int main() { vector<int> ...