首先我们要明白什么Dialog什么?当我们点击某一个按钮时,界面上会弹出一个对话框,那个这个对话框就是Dialog,比如我们会弹出取消、确定等等(当然这里还有一个自定义的Dialog,自定义的Dialog一般是放在一个xml文件里面布局,然后再该类继承Dialog)
好,现在我们就简单的Dialog一步步走向自定义的Dialog吧,
我们先看看几种常见的Dialog
1):确定对话框
2):单选对话框
3):多选对话框
4):列表对话框
图上可以就看到他们都要一个标题和图片(图片设置可以让他显示,也可以不显示)
在这里我要了解Dialog一些方法
setTitle:为对话框设置标题
setIcon:为对话框设置图标
setMessage:为对话框设置内容
setView:为对话框设置样式
setItems:设置对话框要显示一list,一般用于显示几个命令时
setMultiChoiceItems:用来设置对话框显示一系列的复选框
setSingleChoiceItems:设置单选按钮
setNeutralButton:普通按钮
setPositveButton:给对话框添加“确定”按钮
setNegetiveButton:给对话框添加“取消”按钮
好,现在我们一个个来看看这个方法。
首先我们来看第一种对话框
public viud shouDialog(){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle(“确定对话框”);
builder.setIcon(“图片的R..。。。”);
builder.setPositveButton(“确定”,new DialogInterface.OnClickListener(){
//这里必须要用DialogInterface因为点击事件有好几种,这里是Dialog的点击//事件
public void onClick(DialogInterface dialog,int which){
//这个方法便是点击确定的执行的事件
}
});
AlertDialog dialog=builder.create();//获取一个Dialog
dialog.show()//显示一个Dialog
}
接下我们来看单选对话框
public void showDialog2(){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builider.setTitle(“选择性别”);
builder.setIcon(“设置图标的R地址”);
builder.setSingChoiceItems(String类型的数组,主要显示的内容,这参数表示默认选中的是多少,new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
//int which表示我们选中数组的那个参数。
String str=数组[which];
Toast.makeText(this,”选中的”+str,Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog =builder.create();
dialog.show();
}
接下来我们来看多选按钮对话框
public void showDialog3(){
AlertDialog.Builder builder=new AlertDialog.Builder(this);
builder.setTitle(“爱好”);
builder.setIcon(“图片的地址”);
builder.setMultiChoiceItems(“数组传来的参数”,null(ps:这个参数表示选中的参数,因为有多个我们改成null),new DialogInterface.OnMultiChoceItems(){
public void onClick( DialogInterface dialog ,int which ,boolean isChecked){//也是三个参数
if(isChecked){
Toast.makeText(this,”选中的”+数组[which],Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(this,”没有选中”+数组[which],Toast.LENGTH_SHORT).show();
}}
});
//我们在Dialog的下面设置一个取消
builder.setNegativeButton(“取消”,new DialogInterface.OnClick(){
dialog.dimiss();
});
AlertDialog dialog=builder.create();
dialog.show();
}