弹出框组件-AlterDialog消息
控件AlertDialog(对话框),它也是其他Dialog的的父类,比如ProgressDialog,TimePickerDialog等,而AlertDialog的父类是:Dialog。另外,AlertDialog并不能直接new出来,(因为AlertDialog的构造方法是protected的),如果想要创建AlertDialog,我们需要使用到该类中的一个静态内部类:public static class Builder,然后调用AlertDialog里的相关方法对AlertDialog进行定制,最后调用show()方法来显示我们的AlertDialog对话框。
1.AlerDialog是一个功能强大的类,通过它可以实现4类对话框
- 带按钮的对话框,这类使用比较普遍,按钮个数可根据实际需求选择。
- 带列表的列表对话框。
- 带多个单选列表项和按钮的组合对话框。
- 带多个多选列表项和按钮的组合对话框。
基本使用流程
- 创建AlertDialog.Builder对象;
- 调用setIcon()设置图标,setTitle()或setCustomTitle()设置标题;
- 设置对话框的内容:setMessage(),还有其他方法来指定显示的内容setItems(),setSingleChoiceItems(),setMutilChoiceItems(),setView(),setAdapter();
- 调用setPositive/Negative/NeutralButton()设置:确定,取消,中立按钮;
- 调用create()方法创建这个对象,再调用show()方法将对话框显示出来;
2.三种按钮代码
`提前定义`
AlertDialog.Builder ADBuilder;
private void JiBenAlerDialog(View view){
ADBuilder =new Builder(AlterDialogActivity.this);
ADBuilder.setTitle("确定进行下面的操作");
ADBuilder.setIcon(R.drawable.ic_launcher);
ADBuilder.setMessage("确定取消存款");
ADBuilder.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(AlterDialogActivity.this,
"以确定取消",
Toast.LENGTH_SHORT).show();
}
});
ADBuilder.setNeutralButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(AlterDialogActivity.this,
"不进行取消操作",
Toast.LENGTH_SHORT).show();
}
});
ADBuilder.setNegativeButton("暂时不管",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(AlterDialogActivity.this,
"先不进行操作",
Toast.LENGTH_SHORT).show();
}
});
AlertDialog alertDialog=ADBuilder.create();
alertDialog.show();
}
3,在onclick里调用下方法JiBenAlerDialog
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btn_alterdialog_base1:
JiBenAlerDialog(v);
break;
}
}