一、AlertDialog 警告对话框
用法:
(1)、实例化一个对话框的对象,不能通过new一个AlertDialog,一般生成都是通过调用它的内部静态类AlertDialog.Builder实例化的。
(2)、设置一个对话框的一些属性:
①setIcon():设置此对话框所要显示的图片文件(通过getResources().getDrawable(xxx)来指定具体的图片);
②setTitle():设置此对话框所要显示的标题名称(字符串类型);
③setMessage():设置对话框的消息内容(字符串类型);
(3)、添加对话框的监听:
①:通过实现接口重写接口的方法:好处:程序易读;坏处:占用内存大;
②:写一个匿名内部类:不同的对话框是用不同的监听方式,下面具体介绍
1、提示对话框:
①:setPositiveButton (CharSequence text, DialogInterface.OnClickListener listener) ;
此为设置一个对话框的按钮,显示在对话框的右下角;
②:setNegativeButton(CharSequence text, DialogInterface.OnClickListener listener) ;
此为设置一个对话框的按钮,显示在对话框的左下角;
③:setNeutralButton(CharSequence text, DialogInterface.OnClickListener listener);
刺猬设置一个对话框的按钮,显示在对话框按钮的中间;
其中:CharSequence text为要显示的字符串
DialogInterface.OnClickListener listener为要实现的点击事件;
示例代码:
Builder builder = new AlertDialog.Builder(this);
builder.setIcon(getResources().getDrawable(R.drawable.ic_launcher));
builder.setTitle("退出");
builder.setMessage("真的要那么残忍的离开吗?");
builder.setPositiveButton("残忍离去", new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "你太残忍了", Toast.LENGTH_SHORT).show();
finish();
}
});
builder.setNeutralButton("点我试试", new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "让你点就点,白痴啊!", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("再玩一会",new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "玩吧,继续玩吧", Toast.LENGTH_SHORT).show();
}
});
builder.show();
运行效果:
2、列表提示框
build.setItems(items, listener);
items为选项,一个字符串数组;
listener为监听事件;
示例代码:
Builder build = new AlertDialog.Builder(this);
build.setIcon(getResources().getDrawable(R.drawable.ic_launcher));
build.setTitle("列表提示框");
final String strs[] = new String[]{"列表一", "列表二"};
build.setItems(strs, new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "你点击了" + strs[which], Toast.LENGTH_SHORT).show();
}
});
build.show();
运行效果:
3、单选框
setSingleChoiceItems(items, checkedItem, listener);
items为列表选项;
checkedItem,为默认选中的第几个,从0开始;
listener为监听事件;
示例代码:
Builder b_3 = new AlertDialog.Builder(this);
b_3.setTitle("单选框");
final String strs_1[] = new String[]{"列表一", "列表二"};
b_3.setSingleChoiceItems(strs_1, 0, new AlertDialog.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "你点击了" + strs_1[which], Toast.LENGTH_SHORT).show();
}
});
b_3.show();
运行效果: