3.五种常见对话框
简介
对话框也是程序与用户交互的一种方式,通常用于显示当前程序提示信息以及相关说明,以小窗口形式展现。
常见对话框有以下几种:
- 普通对话框
- 单选对话框
- 多选对话框
- 进度条对话框
- 消息对话框
- 自定义对话框
本文主要介绍前五种对话框,对于自定义对话框暂不赘述。
一、普通对话框
普通对话框(Dialog)一般只会显示提示信息,并具有确定和取消按钮。
private void btn_normalClcik() {
// 1. 先要创建构建器 this
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 标题
builder.setTitle("警告");
// 图标
builder.setIcon(R.drawable.ic_launcher);
// 提示信息
builder.setMessage("你确定要退出吗?");
// 确定按钮
// DialogInterface: 区分view包下的 OnClickListener();
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "点击了确定按钮",
Toast.LENGTH_SHORT).show();
}
});
// 取消按钮
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "点击了取消按钮",
Toast.LENGTH_SHORT).show();
}
});
// 一定要把对话框显示出来
builder.show();
}
二、单选对话框
单选对话框和RadioButton作用类似,只能选择一个选项,它是通过AlertDialog对象调用setSingleChoiceItems()方法创建的。
private void btn_singleChoseCLick() {
// 创建默认值
int moren = 1;
checked = moren;
// 1. 先要创建构建器 this
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 标题
builder.setTitle("请选择你的性别?");
// 图标
builder.setIcon(R.drawable.ic_launcher);
// 创建items
final String[] items = new String[] {
"男", "女", "中" };
// 设置内容 -1 表示没有默认值
builder.setSingleChoiceItems(items, moren,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
// System.out.println("----which---"+which);
checked = which;
}
});
// 确定按钮
// DialogInterface: 区分view包下的 OnClickListener();
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
// which -2
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), items[checked],
Toast.LENGTH_SHORT).show();
}
});
// 取消按钮
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
// which -1
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "点击了取消按钮",
Toast.LENGTH_SHORT).show();
}
});
// 显示出来
builder.show();
}
三、多选对话框
多选对话框通常在需要勾选多种选项时使用,例如添加兴趣爱好、喜爱的电影等。创建多选对话框与创建单选对话框类似,调用setMultiChoiceItems()方法就可实现。
// 点击多选对话框
private void btn_moreChoseCLick() {
// 1. 先要创建构建器 this
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 标题
builder.setTitle("请选择你喜欢的运动?");
// 图标
builder.setIcon(R.drawable.ic_launcher);
// 创建items
final String