1,创建
new AlertDialog.Builder(Context context)
一些设置:
create()创建
show()显示
dismiss()退出对话框
2,常用方法
setIcon:设置图标
setTitle:设置标题
setPositiveButton:设置 确定按钮
setNegativeButton:设置 取消按钮
setNeutralButton:设置 忽略按钮
setCancelable(Boolean arg0)//按回退键是否可以取消
3,可选但唯一的方法
setMessage 设置显示消息
setItems 显示单选列表,选择后对话框退出
setSingleChoiceItems 显示单选列表,选择后对话框不退出
setMultiChoiceItems 显示多选列表,选择后对话框不退出
4,从资源文件加载对框视图
通过setView( LayoutInflater.from(Context context).inflate(resource, null) )安装视图
5,通过Activity.showDialog(int id)来显示对话框
重写Activity的以下方法
protected Dialog onCreateDialog(int id) //Dialog第一次创建时调用.这里需要通过AlertDialog.create()返回创建的对话框
protected onPrepareDialog(int id, Dialog dialog) //Dialog显示前调用
6,其他对话框
ProgressDialog对话框
setIndeterminate 设置进度条是否自动运转
setProgressStyle 设置显示风格;
ProgressDialog.STYLE_HORIZONTAL/ProgressDialog.STYLE_SPINNER
setProgress 设置进度,只有对话框显示后才有用
setCancelable(Boolean arg0)//按回退键是否可以取消,进度条对框框默认不取消
setMessage() 设置显示内容
最简单的显示方法:
public static ProgressDialog show (Context context, CharSequence title, CharSequence message)
TimePickerDialog/DatePickerDialog
例子:“从配置文件加载对话框视图”
public void inputPwd() {
//LayoutInflater是用来找layout下xml布局文件,并且实例化
LayoutInflater inflater = LayoutInflater.from(Main.this);
final View layView = inflater.inflate(R.layout.dialogview, null);
//加载配置文件来创建一个对话框
Builder dialog = new AlertDialog.Builder(Main.this).setView(layView);
dialog.setTitle("输入密码");
//添加 " OK " 按钮的单击事件
dialog.setPositiveButton(" OK ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//必须在findViewById()方法之前写上layView,否则默认为main.xml
EditText secondPwd = (EditText) layView.findViewById(R.id.secondPwd);
String inputPwd = secondPwd.getText().toString(); //从对话框中获取到的数据赋值给inputPwd
String pwdDB = getPassWord(); //从数据库中获取密码,并将其赋值给pwdDB
if (inputPwd.equals(pwdDB)) { //如果输入的密码等于数据库中的密码,返回首页
//返回到首页
Intent intent = new Intent(Intent.ACTION_MAIN);
startActivity(intent);
}
}
})
.setNeutralButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("++ CANCEL ++");
}
})
.create();
dialog.show(); }