android-对话框
一、常用对话框
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-对话框的更多相关文章
- Android 对话框(Dialog)大全 建立你自己的对话框
Android 对话框(Dialog)大全 建立你自己的对话框 原文地址: http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html A ...
- Android对话框
这周过的实在是艰辛,自打这周二起我的本本就开始闹"罢工",最后还是重装系统了事. . . 只是可怜了我的那些被格了的软件(悲伤辣么大)! 往事不要再提,人生几度风雨... 简 ...
- Android对话框和帧动画
Android对话框 在一个例子中展示四种对话框. 设置四个按钮 <LinearLayout xmlns:android="http://schemas.android.com/apk ...
- Android对话框(Dialog)
Android对话框 前几天出差没有进行更新,今天写一下安卓中用的比较多的对话框——AlertDialog. dialog就是一个在屏幕上弹出一个可以让用户做出一个选择,或者输入额外的信息的对话框,一 ...
- Android对话框自定义标题
Android自带的对话框标题不好看,如果我们需要给弹出的对话框设置一个自己定义的标题,可以使用AlertDialog.Builder的setCustomTitle()方法. 定义一个对话框标题的ti ...
- Android对话框之dismiss和cancel和hide区别
在我们看来两者效果都是一样的,其实看下源码就知道cancel肯定会去调dismiss的,如果调用的cancel的话就可以监听DialogInterface.OnCancelListener. /** ...
- 转 Android 对话框(Dialog)大全 建立你自己的对话框
Activities提供了一种方便管理的创建.保存.回复的对话框机制,例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog( ...
- Android—对话框
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- Android 对话框弹出位置和透明度的设置
在Android中 我们经常会用AlertDialog来显示对话框.通过这个对话框是显示在屏幕中心的.但在某些程序中,要求对话框可以显示在不同的位置.例如,屏幕的上 方或下方.要实现这种效果.就需要获 ...
- Android 对话框用法
来自:http://www.cnblogs.com/salam/archive/2010/11/15/1877512.html Activities提供了一种方便管理的创建.保存.回复的对话框机制,例 ...
随机推荐
- 阿里云(ECS)Centos服务器LNMP环境搭建
阿里云( ECS ) Centos7 服务器 LNMP 环境搭建 前言 第一次接触阿里云是大四的时候,当时在校外公司做兼职,关于智能家居项目的,话说当时俺就只有一个月左右的 php 后台开发经验(还是 ...
- HDU 5876 Sparse Graph BFS 最短路
Sparse Graph Problem Description In graph theory, the complement of a graph G is a graph H on the ...
- python学习第二天
dict字典 把数据放入dict:直接赋值.初始化时指定 pop删除key set集合 add添加元素 remove删除元素 字符串str是不可变对象,对字符串的操作都会返回新的字符串 pass 什么 ...
- JSHint配置详解
Also available on Github JSHint配置详解 增强参数(Enforcing Options) 本类参数设为true,JSHint会产生更多告警. bitwise 禁用位运算符 ...
- Jquery禁止/恢复按钮与文本框代码
最近,加入了一个小项目,由浩哥带领我们几个人一起开发一个东西.幸运的是,我和胡志婷分到了一组,她可是一个具有丰富经验的牛人,对我也很好,哈哈. --背景 说点正事,最近,我们在进行项目的时候,提到了一 ...
- kylin的安装与配置
我的环境: Cloudera Hadoop5.3.6 其中, Hadoop版本2.5.0 Hbase版本0.98.6 Hive版本0.13.1 使用的kylin版本:1.5.2.1 下载地址: htt ...
- CentOS VMware 配置IP小结 静态 配置 桥接 NAT
系统启动后可先ping下外网或局域网内其它机器. 如果配置虚拟机时选择的NAT上网方式,后面需要配置固定IP,请先参见VMware NAT方式下设置静态IP获得可用的IP范围和网关等信息. 先将ifc ...
- hdu5092 dp(递推)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5092 题意:给一个m*n的矩阵,找到一个纵向的"线"使得线上的和最小并 ...
- PHP学习之常量
1.常量是一个简单值的标识符,该值在脚本中不能改变: 2.一个常量由英文字母,下划线,和数字组成,但数字不能作为首字母出现:(常量名中不需要加$修饰符) 3.常量在整个脚本中都可以使用: 4.设置PH ...
- HYSBZ 1588 营业额统计
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 题意:详见题面,中文 思路:平衡树的模板题. 可用Treap,Splay,Scape ...