转载请标明出处: http://blog.csdn.net/airsaid/article/details/51155994
本文出自:周游的博客
前言
Android本身提供了丰富的对话框支持,常见有如下四种常用的对话框:
* AlertDialog:最常用、功能最丰富应用最广的对话框。
* ProgressDialog:进度条对话框,这个对话框只是对进度条的一个包装。
* DatePickerDialog:日期选择对话框,这个Dialog只是对DatePicker的包装。
* TimePickerDialog:时间选择对话框,同上。
其中,ProgressDialog、DatePickerDialog、TimePickerDialog都是继承自AlertDialog。
开发环境
- IDE版本:Android Studio2.0
- 物理机版本:Win7旗舰版(64位)
AlertDialog的使用
AlertDialog的功能十分强大,它可以生成各种各样的Dialog,下面具体讲解下使用。
一般我们创建一个AlertDialog需要如下几步:
* 1,创建AlertDialog.Builder对象
* 2,调用AlertDialog.Builder的setTitle()或者setCustomTitle()方法设置标题
* 3,调用AlertDialog.Builder的setIcon()方法设置图标
* 4,调用AlertDialog.Builder的相关设置方法设置对话框内容
* 5,调用AlertDialog.Builder的setPositiveButtom()、setNegativeButtom()或者setNeutralButtom()方法给Dialog添加按钮
* 6,调用AlertDialog.Builder的create()方法创建AlertDialog对象,再调用AlertDialog.Builder的show()方法显示Dialog
6步中,可以根据具体Dialog的样式灵活改变,其中,第4步最为灵活,AlertDialog允许创建各种内容的对话框,归纳起来,有如下几种:
* 1,setMessage():设置对话框的内容为简单文本。
* 2,setItems():设置对话框的内容为简单列表项。
* 3,setSingleChoiceItems():设置对话框的内容为单选列表项。
* 4,setMultiChoiceItems():设置对话框的内容为多选列表项。
* 5,setAdapter():设置对话框的内容为自定义列表项。
* 6,setView():设置对话框的内容为自定义View。
下面通过几个实例在介绍具体的用法。
简单提示消息对话框
/** 显示简单对话框 */
private void showDialogForMessage() {
AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle("简单的对话框")
.setIcon(R.mipmap.ic_launcher)
.setMessage("对话框内的内容");
setPositiveButtom(builder);
setNegativeButton(builder)
.create()
.show();
}
由于有多个Dialog需要演示,所以把添加Button的方法重新抽取为了一个单独的方法进行复用,下面演示的Dialog都使用到了这两个方法:
/** 添加确定按钮 */
public AlertDialog.Builder setPositiveButtom(AlertDialog.Builder builder) {
return builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show();
dialog.dismiss();
}
});
}
/** 设置取消按钮 */
public AlertDialog.Builder setNegativeButton(AlertDialog.Builder builder) {
return builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public