1.简介
我们在平时的开发过程中很多情况下都会用到对话框AlertDialog,这里就对AlertDialog一些常用的情况做个介绍
2.用法
- 创建确认对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("确认对话框");//设置标题
builder.setIcon(R.mipmap.ic_launcher);//设置图标
builder.setMessage("确认对话框提示内容");//设置内容
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(this, "点击了确认按钮" , Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(this, "点击了取消按钮", Toast.LENGTH_LONG).show();
}
});
//用creat()方法创建dialog, show()方法展示出来
AlertDialog dialog = builder.create();
dialog.show();
- 单选对话框
final String[] list = {"男", "女", "程序员"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("选择性别");//设置标题
builder.setIcon(R.mipmap.ic_launcher);//设置图标
//单选
builder.setSingleChoiceItems(list, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(this,"选择了" + list[which], Toast.LENGTH_LONG ).show();
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
- 多选对话框
final String[] list = {"足球","篮球","排球","网球"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("爱好");
builder.setIcon(R.mipmap.ic_launcher);//设置图标
builder.setMultiChoiceItems(list, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked){
Toast.makeText(this, "选择了" + list[which], Toast.LENGTH_LONG).show();
}else {
Toast.makeText(this, "取消了" + list[which], Toast.LENGTH_LONG).show();
}
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
- 列表对话框
final String[] list = {"足球","篮球","排球","网球"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("爱好");
builder.setIcon(R.mipmap.ic_launcher);//设置图标
builder.setItems(list, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(this, "选择了" + list[which], Toast.LENGTH_LONG).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog dialog = builder.create();
dialog.show();
- 自定义对话框
//LayoutInflater将自定义的布局文件加载进来
View view1 = LayoutInflater.from(this).inflate(R.layout.dialog_view, null);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("自定义对话框");
builder.setIcon(R.mipmap.ic_launcher);//设置图标
//设置自定义view
builder.setView(view1);
AlertDialog dialog = builder.create();
dialog.show();
3.总结
以上介绍是一些基本的对话框用法,但也包含了大多需求,如果有什么不能满足的,我们用自定义对话框就可以了。