关于AlertDialog的使用

AlertDialog继承与Dialog类,它只提供了protected类型的构造函数,所以不能直接创建它的对象,需要通过它的内部类Builder来获取它的实例对象。

AlertDialog用于快速构建对话框,它提供了很多用于构建对话框的方法,当然,我们也可以自己写一个Dialog的子类来实现对话框,但是这样也许只在一个特定的地方会用到,为了这一次的使用,而去创建一个新类,显得有些繁琐,所以android提供了这个AlertDialog,我们可以只用少许的几行代码就可以构建一个对话框。


普通消息框:

new AlertDialog.Builder(MainActivity.this)
.setTitle("消息框")
.setIcon(R.drawable.ic_launcher)
.setMessage("显示内容")
.setPositiveButton("确定", null)
.show();
效果如下: 关于AlertDialog的使用_第1张图片


确定框:

				new AlertDialog.Builder(MainActivity.this)
				.setTitle("确定框")
				.setIcon(R.drawable.ic_launcher)
				.setMessage("确定吗?")
				.setPositiveButton("确定", null)
				.setNegativeButton("取消", null)
				//设置只能通过点击取消按钮关闭对话框
				.setCancelable(true)
				//监听对话框的取消,当对话框非正常消失时调用(点击对话框外部,back建)
				.setOnCancelListener(new OnCancelListener() {
					
					@Override
					public void onCancel(DialogInterface dialog) {
						// TODO Auto-generated method stub
					}
				})
				//监听对话框的取消,当对话框消失时调用(任何形式的消失都调用)
				.setOnDismissListener(new OnDismissListener() {
					
					@Override
					public void onDismiss(DialogInterface dialog) {
						// TODO Auto-generated method stub
					}
				})
				.show();
效果如下:

输入框:

				EditText meditText = new EditText(MainActivity.this);
				new AlertDialog.Builder(MainActivity.this)
				.setTitle("输入框")
				.setIcon(R.drawable.ic_launcher)
				.setMessage("显示内容")
				.setView(meditText)
				.setPositiveButton("确定", null)
				.setNegativeButton("取消", null)
				.show();
效果如下: 关于AlertDialog的使用_第2张图片


复选框:

//复选框 注:单选框和复选框中不能有setMessage(),否则不能正常显示
//setMultiChoiceItems可以决定哪个被选中				
CharSequence[] items = {"小苹果","雪梨","香蕉"};
new AlertDialog.Builder(MainActivity.this)
.setTitle("复选框")
.setIcon(R.drawable.ic_launcher)
//.setMessage("显示内容")
.setMultiChoiceItems(items, new boolean[]{false,true,true}, null)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.show();
效果如下: 关于AlertDialog的使用_第3张图片


单选框:

//单选框 注:单选框和复选框中不能有setMessage(),否则不能正常显示
// setSingleChoiceItems可以决定哪个被选中
CharSequence[] items = {"小苹果","雪梨","香蕉"};
new AlertDialog.Builder(MainActivity.this)
.setTitle("单选框")
.setIcon(R.drawable.ic_launcher)
//.setMessage("显示内容")
.setSingleChoiceItems(items, 1, null)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.show();
效果如下: 关于AlertDialog的使用_第4张图片


图片框:

ImageView view = new ImageView(MainActivity.this);
view.setImageResource(R.drawable.ic_launcher);
new AlertDialog.Builder(MainActivity.this)
.setTitle("图片框")
.setIcon(R.drawable.ic_launcher)
.setMessage("显示内容")
.setView(view)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.show();
效果如下: 关于AlertDialog的使用_第5张图片


列表框:

CharSequence[] items = {"苹果","雪梨","香蕉"};
new AlertDialog.Builder(MainActivity.this)
.setTitle("列表框")
.setIcon(R.drawable.ic_launcher)
//	.setMessage("显示内容")
//	.setItems(items, null)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null)
.setAdapter(new MyAdapter(new String[]{"列表1","列表2","列表3"},MainActivity.this), null)
.show();
效果如下: 关于AlertDialog的使用_第6张图片

你可能感兴趣的:(关于AlertDialog的使用)