介绍:
AlertDialog: 一个可以有0到3个按钮, 一个单选框或复选框的列表的对话框。 警告对话框可以创建大多数的交互界面, 是推荐的类型。
AlertDialog 常用于"程序提醒"、"警告" 或 "确认"等的Dialog窗口,主要目的是与User 确认及互动。
AlertDialog是User Interface中必须要学会的技巧之一。
API:
java.lang.Object | |
| android.app.AlertDialog.Builder |
使用AlertDialog是不可以直接创建Dialog的,需要通过AlertDialog.Builder()创建。
使用AlertDialog.Builder创建对话框需要了解以下几个方法:
* setTitle :为对话框设置标题
* setIcon :为对话框设置图标
* setMessage:为对话框设置内容
* setCancelable :为对话框设置状态(默认能使用back键来取消)
* setView : 给对话框设置自定义样式
* setItems :设置对话框要显示的一个list,一般用于显示几个命令时。
* setMultiChoiceItems:用来设置对话框显示一系列的复选框。
* setNeutralButton :中性对话框(对话框中有三个按钮时,此可以设置为一般)
* setPositiveButton :给对话框添加"Yes"按钮
* setNegativeButton:对话框添加"No"按钮
* create : 创建对话框
* show :显示对话框
下面介绍,AlertDialog的集中常见类型:
1. 弹出一个简单的消息框
new AlertDialog.Builder(类名.this)
.setTitle(" 标题 ")
.setMessage("这是提示内容")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
//点击确认以后, 需要进行的操作
}
})
.show();
2. 弹出 确定 取消 对话框
new AlertDialog.Builder(MainActivity.this)
.setTitle(R.string.app_name)
.setMessage("this is a Dialog !")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
//
}
})
.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
finish();
}
}).show();
3. .弹出输入框型对话框
new AlertDialog.Builder(MainActivity.this)
.setTitle(R.string.app_name)
.setView(new EditText(MainActivity.this))
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.show();
4. 设置带有图片的弹出框
ImageView imageView = new ImageView(MainActivity.this);
imageView.setImageResource(R.drawable.ic_launcher);
new AlertDialog.Builder(MainActivity.this)
.setTitle(R.string.app_name)
.setView(imageView) //设置图片
.setPositiveButton("确定",null)
.setNegativeButton("取消", null)
.show();
5. 弹出列表框对话框
String[] array = new String[] {"列表1", "列表2", "列表3"};
new AlertDialog.Builder(MainActivity.this)
.setIcon(R.drawable.ic_launcher)
.setTitle("列表框"
)
.setItems(array, null)
.setPositiveButton("确定",null)
.setNegativeButton("取消", null)
.show();
setItems()的第二个参数是为列表框设置监/听器
6. 弹出单选框对话框
String[] array = new String[] {"item1", "item2", "item3","item4"};
new AlertDialog.Builder(MainActivity.this)
.setIcon(R.drawable.ic_launcher)
.setTitle("单选框")
.setSingleChoiceItems(array, 1, null)
.setPositiveButton("确定",null)
.setNegativeButton("取消", null)
.show();
setSingleChoiceItems()的第二个参数为设置单选框 初始选中项(为数组array的下标), 第三个参数是为单选框设置监/听器.
7. 弹出多选框对话框
String[] array = new String[] {"item1", "item2", "item3","item4"};
boolean[] selected = new boolean[] { true, true, false,false }; //与array数组中的元素对应
new AlertDialog.Builder(MainActivity.this)
.setIcon(R.drawable.ic_launcher)
.setTitle("多选框")
.setMultiChoiceItems(array, selected, null)
.setPositiveButton("确定",null)
.setNegativeButton("取消", null)
.show();
setMultiChoiceItems()第二个参数为boolean型的数组,表示初始时被选中的项,若设为null,则都不选中。第三个参数为多选框设置监/听器.
注:有点小白,不会传图~~,自己测试一下就可以了