对话框是在当前界面弹出的一个小窗口,用于显示重要提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等。一般情况下,影虎要与对话框进行交互,然后返回到被只改的界面以继续运行当前的应用程序。
AlertDialog常用方法
要创建一个AlertDialog,就要用到AlertDialog.Builder的create()方法。
setTitle:为对话框设置标题
setIconL:为对话框设置标题
setMessage:为对话框设置内容
setView:给对话框设置自定义样式
setItems:设置对话框姚先生的一个list,一般用于显示几个命令时
setMultiChoiceItems:用来设置对话框显示一系列的复选框
setSingleChoiceItems:设置单选按钮
setNeutralButton:普通按钮
setPositiveButton:给对话框添加“确认”按钮
setNegativeButton:对话框添加“取消”按钮
/**
* 显示确认对话框
*/
private void showDialog1() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("确认对话框");//设置标题
builder.setIcon(R.drawable.ic_launcher);//设置图标
builder.setMessage("确认对话框提示内容");//设置内容
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
//這個OnClicklistener和上面的包不一樣
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "点击了确定按钮!"
,Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this
,"点击了取消按钮!",Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();//获取dialog
dialog.show();//显示对话框
}
/**
* 显示单选对话框
*/
String[] single_list = { "男", "女", "男程序员", "女程序员" };
private void showDialog2() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("单选按钮对话框");
builder.setIcon(R.drawable.ic_launcher);
// 设置选项:第二个参数0表示默认选中第一个选项
builder.setSingleChoiceItems(single_list, 0,
new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int which) {
// TODO Auto-generated method stub
String str = single_list[which];
Toast.makeText(MainActivity.this
, "这个人是"+str+"!",Toast.LENGTH_LONG).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
/**
* 显示多选对话框
*/
private void showDialog3() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("爱好");
builder.setIcon(R.drawable.ic_launcher);
builder.setMultiChoiceItems(multi_list, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
Toast.makeText(MainActivity.this, "我喜欢上了"+multi_list[arg1], Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "我不喜欢"+multi_list[arg1], Toast.LENGTH_SHORT).show();
}
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
arg0.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
/**
* 显示列表对话框
*/
private void showDialog4() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("列表");
builder.setIcon(R.drawable.ic_launcher);
builder.setItems(item_list, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this,
"我是" + item_list[arg1],
Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
}
//自定义对话框
LayoutInflater inflater=LayoutInflater.from(this);
View view=inflater.inflate(R.layout.dialog_layout, null);
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle("自定义对话框");
builder.setIcon(R.drawable.ic_launcher);
builder.setView(view);
AlertDialog dialog=builder.create();
dialog.show();