一、常用对话框

  AlertDialog: 功能最丰富,实际应用最广的对话框(以下三种对话框都是该对话框的子类)

  ProgressDialog:进度对话框、这个对话框只是对进度条的包装

  DatePickerDialog:日期选择对话框,这个对话框只是对DatePicker的包装

  TimePickerDialog:时间选择对话框,这个对话框是对TimePicker的包装

二、使用AlertDialog创建对话框

  步骤:  

    1、创建AlertDialog.Builder对象;

    2、调用AlertDialog.Builder的setTitle()或setCustomTitle()方法设置标题;

    3、调用AlertDialog.Builder的setIcon()方法设置图标;

    4、调用AlertDialog.Builder的相关方法设置内容,AlertDialog指定了如下6种方法来指定对话框的内容:

      <1>setMessage()    设置对话框内容为简单文本;

      <2>setItems()   设置对话框内容为简单列表项;

      <3>setSingleChoiceItems() 设置对话框内容为单选列表项;

      <4>setMultiChoiceItems()  设置对话框内容为多选列表项;

      <5>setAdapter()  设置对话框内容为自定义列表项;

      <6>setView()  设置对话框内容为自定义View;

    5、调用AlertDialog.Builder的setPositiveButton()、setNegativeButton()、setNeutralButton()方法添加多个按钮;

    6、调用AlertDialog.Builder的create()方法创建AlertDialog对象,再调用AlertDialog对象的show()方法将该对话框显示出来。

eg.

public void simple(View source){
     
     Builder builder=new Builder(this);
     //设置对话框标题
     builder.setTitle("简单对话框");
     //设置图标
     builder.setIcon(R.drawable.ic_launcher);
     builder.setMessage("对话框的测试内容\n第二行内容");
     //添加按钮
     builder.setPositiveButton("确定", new OnClickListener() {
   
   @Override
   public void onClick(DialogInterface dialog, int which) {
    
    tv.setText("单击了【确定】按钮");
   }
  });
     builder.setNegativeButton("取消", new OnClickListener() {
   
   @Override
   public void onClick(DialogInterface dialog, int which) {
    
    tv.setText("单击了【取消】按钮");
   }
  });
     builder.create();
     builder.show();
     
    }

执行结果:

三、简单列表项对话框

   调用AlterDialog.Builder的setItems()方法可设置简单列表项对话框,调用该方法时需要传入一个 数组或数组资源ID;

public void simple(View source){
     
     Builder builder=new Builder(this);
     //设置对话框标题
     builder.setTitle("简单列表项对话框");                                                               
     //设置图标
     builder.setIcon(R.drawable.ic_launcher);
     builder.setItems(items, new OnClickListener() {
   
   @Override
   public void onClick(DialogInterface dialog, int which) {
    
    tv.setText("您选中了《"+items[which]+"》");
   }
  });
     //添加按钮
     builder.setPositiveButton("确定", new OnClickListener() {
   
   @Override
   public void onClick(DialogInterface dialog, int which) {
    
    tv.setText("单击了【确定】按钮");
   }
  });
     builder.setNegativeButton("取消", new OnClickListener() {
   
   @Override
   public void onClick(DialogInterface dialog, int which) {
    
    tv.setText("单击了【取消】按钮");
   }
  });
     builder.create();
     builder.show();
     
    }

四、单选列表项对话框

  调用AlterDialog.builder的setSingleChoiceItems() 方法即可创建带单选列表项的对话框;调用该方法时需要传入数组、Cursor(相当于数据库查询结果集)或者ListAdapter作为参数。

五、多选列表项对话框

   调用AlterDialog.builder的setMultiChoiceItems() 方法即可创建带多选列表项的对话框;调用该方法时需要传入数组或Cursor(相当于数据库查询结果集)作为参数。

  使用该方法时传入一个 boolean[]参数,该参数有两个作用:<1>设置初始化时选中哪些列表项;<2>动态地获取多选列表中列表项的选中状态。

六、自定义列表项对话框

  AlterDialog.builder的setAdapter() 方法可设置对话框的内容,该方法需要传入一个Adapter参数,这样即可由该Adapter负责提供多个列表项组件;

待续......

android-对话框的更多相关文章

  1. Android 对话框(Dialog)大全 建立你自己的对话框

    Android 对话框(Dialog)大全 建立你自己的对话框 原文地址: http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html A ...

  2. Android对话框

    这周过的实在是艰辛,自打这周二起我的本本就开始闹"罢工",最后还是重装系统了事. . .   只是可怜了我的那些被格了的软件(悲伤辣么大)!  往事不要再提,人生几度风雨... 简 ...

  3. Android对话框和帧动画

    Android对话框 在一个例子中展示四种对话框. 设置四个按钮 <LinearLayout xmlns:android="http://schemas.android.com/apk ...

  4. Android对话框(Dialog)

    Android对话框 前几天出差没有进行更新,今天写一下安卓中用的比较多的对话框——AlertDialog. dialog就是一个在屏幕上弹出一个可以让用户做出一个选择,或者输入额外的信息的对话框,一 ...

  5. Android对话框自定义标题

    Android自带的对话框标题不好看,如果我们需要给弹出的对话框设置一个自己定义的标题,可以使用AlertDialog.Builder的setCustomTitle()方法. 定义一个对话框标题的ti ...

  6. Android对话框之dismiss和cancel和hide区别

    在我们看来两者效果都是一样的,其实看下源码就知道cancel肯定会去调dismiss的,如果调用的cancel的话就可以监听DialogInterface.OnCancelListener. /** ...

  7. 转 Android 对话框(Dialog)大全 建立你自己的对话框

    Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...

  8. Android—对话框

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  9. Android 对话框弹出位置和透明度的设置

    在Android中 我们经常会用AlertDialog来显示对话框.通过这个对话框是显示在屏幕中心的.但在某些程序中,要求对话框可以显示在不同的位置.例如,屏幕的上 方或下方.要实现这种效果.就需要获 ...

  10. Android 对话框用法

    来自:http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html Activities提供了一种方便管理的创建.保存.回复的对话框机制,例 ...

随机推荐

  1. 在Salesforce中用Data Loader去批量处理数据

    Data Loader download file: Setup --> Administration Setup --> Data Loader --> Download the ...

  2. Socket 通讯

    #import "ViewController.h" #import <sys/socket.h> #import <netinet/in.h> #impo ...

  3. 一个简单的Object Hook的例子(win7 32bit)

    Object Hook简单的来说就是Hook对象,这里拿看雪上的一个例子,因为是在win7 32位上的,有些地方做了些修改. _OBJECT_HEADER: kd> dt _OBJECT_HEA ...

  4. LVS 三种工作模式原理、以及优缺点比较(转载)

    原文地址:http://9ilinux.com/149.html 一.NAT模式(VS-NAT) 原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此R ...

  5. 在Android上用AChartEngine轻松绘制图表

    本文由 伯乐在线 - LeonHover 翻译.未经许可,禁止转载!英文出处:jaxenter.欢迎加入翻译组. Android发布不久的2008年底,开发者们已经开始寻找制表.制图.绘图的工具库.当 ...

  6. LoadRunner 12.02 安装以及汉化教程

    LoadRunner 12.02 安装 一.下载 首先下载Loadrunner12安装包. 下载后有四个安装包: HP_LoadRunner_12.02_Community_Edition_Addit ...

  7. python限定类属性的类属性:__slots__

    __slots__ 由于Python是动态语言,任何实例在运行期都可以动态地添加属性. 如果要限制添加的属性,例如,Student类只允许添加 name.gender和score 这3个属性,就可以利 ...

  8. Android 编程下 ListView 的 HeaderView 和 FooterView 不可选择点击

    在 ListView 里,HeaderView 和 FooterView 也占一行,与其他的 item 一样,可以点击,有索引,HeaderView 的索引为0.如果要使这两项不可点击,可以使用下面的 ...

  9. [工作中的设计模式]观察者模式observer

    一.模式解析 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己. 观察者模式又叫订阅发布模式, ...

  10. 去除手机端a标签等按下去背景色

    a,button,input,textarea,label,i,em{/*highlight*/ -webkit-tap-highlight-color: rgba(255,0,0,0); borde ...