Android对话框AlertDialog
2014-10-24 20:34
134 查看
一、4种常用的对话框
AlertDialog:功能最丰富、实际应用最广泛的对话框。
ProgressDialog:进度条对话框。
DatePickerDialog:日期选择对话框。
TimePickerDialog:时间选择对话框。
二、AlertDialog对话框的结构以及创建步骤
AlertDialog对话框的功能很强大,它可以生成各种内容的对话框,但AlertDialog生成的对话框总有如下的结构。
![](https://img-blog.csdn.net/20141024205340518?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjg2MTU1Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
从上面对话框的结构来看,创建一个对话框需要经过如下几步:
创建AlertDialog.Builder对象。
调用AlertDialog.Builder的setTitle()或者setCustomTitle()方法设置标题。
调用AlertDialog.Builder的setIcon()方法设置图标。
调用AlertDialog.Builder的相关设置方法设置对话框的内容。
调用AlertDialog.Builder的setPositiveButton()、setNegativeButton()或者setNeutralButton()方法添加按钮。
调用AlertDialog.Builder的create()方法创建AlertDialog对象,再调用AlertDialog对象的show()方法将该对话框显示出来。
上面的6个步骤中,第4个步骤最为灵活,也是很关键的一步,AlertDialog允许创建各种内容的对话框。
AlertDialog提供的6种方法来指定对话框的内容:
setMessage():设置对话框内容为简单文本内容。
setItems():设置对话框内容为简单列表项。
setSingleChoiceItems():设置对话框内容为单选列表项。
setMultieChoiceItems():设置对话框内容为多选列表项.
setAdapter():设置对话框内容为自定义列表项。
setView():设置对话框内容为自定义View。
三、实例展示
1、使用setMessage()方法显示提示消息的对话框,当点击按钮的时候,会弹出对话框。
2、使用setItem()创建简单列表对话框,调用该方法时需要传入一个数组或者数组资源的资源ID。
3、使用setSingleChoiceItems()方法创建单选列表对话框,调用该方法的时候可以传入数组、Cursor、ListAdapter作为参数。
4、使用setMultieChoiceItems()方法创建多选项对话框,调用该方法的时候可以参入数组、Cursor作为参数.
5、使用setAapter()方法创建自定义列表对话框。调用该方法的时候需要传入一个Adapter作为参数.
6、使用setView()方法创建自定义View的对话框。调用该方法的时候接受一个View组件,该View组件将作为对话框的内容。
AlertDialog:功能最丰富、实际应用最广泛的对话框。
ProgressDialog:进度条对话框。
DatePickerDialog:日期选择对话框。
TimePickerDialog:时间选择对话框。
二、AlertDialog对话框的结构以及创建步骤
AlertDialog对话框的功能很强大,它可以生成各种内容的对话框,但AlertDialog生成的对话框总有如下的结构。
从上面对话框的结构来看,创建一个对话框需要经过如下几步:
创建AlertDialog.Builder对象。
调用AlertDialog.Builder的setTitle()或者setCustomTitle()方法设置标题。
调用AlertDialog.Builder的setIcon()方法设置图标。
调用AlertDialog.Builder的相关设置方法设置对话框的内容。
调用AlertDialog.Builder的setPositiveButton()、setNegativeButton()或者setNeutralButton()方法添加按钮。
调用AlertDialog.Builder的create()方法创建AlertDialog对象,再调用AlertDialog对象的show()方法将该对话框显示出来。
上面的6个步骤中,第4个步骤最为灵活,也是很关键的一步,AlertDialog允许创建各种内容的对话框。
AlertDialog提供的6种方法来指定对话框的内容:
setMessage():设置对话框内容为简单文本内容。
setItems():设置对话框内容为简单列表项。
setSingleChoiceItems():设置对话框内容为单选列表项。
setMultieChoiceItems():设置对话框内容为多选列表项.
setAdapter():设置对话框内容为自定义列表项。
setView():设置对话框内容为自定义View。
三、实例展示
1、使用setMessage()方法显示提示消息的对话框,当点击按钮的时候,会弹出对话框。
btn_1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //创建一个AlertDialog.Builder对象 new AlertDialog.Builder(MainActivity.this) //设置标题 .setTitle("简单对话框") //设置图标 .setIcon(R.drawable.ic_launcher) //设置简单文本内容 .setMessage("这是一个简单的对话框") //设置确定按钮 .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show(); } }) //设置取消按钮 .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show(); } }).create().show(); } }); <span style="font-size:14px;"> </span>
2、使用setItem()创建简单列表对话框,调用该方法时需要传入一个数组或者数组资源的资源ID。
//定义一个数组作为参数 final String[] items = {"北京","上海","广州","西安"}; //简单列表对话框 btn_2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub new AlertDialog.Builder(MainActivity.this) .setTitle("简单列表对话框") .setIcon(R.drawable.ic_launcher) .setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了"+items[which]+"选项", Toast.LENGTH_SHORT).show(); } }) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show(); } }).create().show(); }
3、使用setSingleChoiceItems()方法创建单选列表对话框,调用该方法的时候可以传入数组、Cursor、ListAdapter作为参数。
btn_3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub new AlertDialog.Builder(MainActivity.this) .setTitle("单选列表对话框") .setIcon(R.drawable.ic_launcher) .setSingleChoiceItems(items, 1,new DialogInterface.OnClickListener() { 4000 @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了"+items[which]+"选项", Toast.LENGTH_SHORT).show(); } }) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show(); } }).create().show(); } });
4、使用setMultieChoiceItems()方法创建多选项对话框,调用该方法的时候可以参入数组、Cursor作为参数.
btn_4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub new AlertDialog.Builder(MainActivity.this) .setTitle("多选列表对话框") .setIcon(R.drawable.ic_launcher) .setMultiChoiceItems(items,new boolean[]{true,false,false,true},null) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show(); } }).create().show(); } });
5、使用setAapter()方法创建自定义列表对话框。调用该方法的时候需要传入一个Adapter作为参数.
btn_5.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub new AlertDialog.Builder(MainActivity.this) .setTitle("自定义列表对话框") .setIcon(R.drawable.ic_launcher) .setAdapter(new ArrayAdapter<String>(MainActivity.this, R.layout.line,items), null) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show(); } }).create().show(); } });
6、使用setView()方法创建自定义View的对话框。调用该方法的时候接受一个View组件,该View组件将作为对话框的内容。
btn_6.setOnClickListener(new OnClickListener() { TableLayout loginForm = (TableLayout) getLayoutInflater().inflate(R.layout.login, null); @Override public void onClick(View v) { // TODO Auto-generated method stub new AlertDialog.Builder(MainActivity.this) .setTitle("自定义对话框") .setIcon(R.drawable.ic_launcher) .setView(loginForm) .setPositiveButton("登陆", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "此处执行登陆处理", Toast.LENGTH_SHORT).show(); } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "此处执行取消处理", Toast.LENGTH_SHORT).show(); } }).create().show(); } });
相关文章推荐
- Android在AlertDialog对话框中添加EditText文本框
- android AlertDialog对话框
- Android---AlertDialog对话框
- 自定义 Android 对话框 (AlertDialog) 的样式
- Android中的对话框AlertDialog
- 【Android】对话框 AlertDialog
- 【Android】对话框 AlertDialog
- Android开发--实现对话框(AlertDialog)
- Android开发--实现对话框(AlertDialog)
- android中的对话框(AlertDialog)自动消失
- 【Android】对话框 AlertDialog
- Aandroid 学习之 AlertDialog窗口(具有交互功能的对话框)
- Android中的对话框之三:AlertDialog的创建方法
- android 系统提示对话框(AlertDialog)的使用
- Android 应用开发笔记 - 对话框(AlertDialog)
- Android:给对话框AlertDialog添加垂直滚动条
- 自定义 Android 对话框 (AlertDialog) 的样式
- android点击AlertDialog的button不退出对话框的方法
- 自定义 Android 对话框 (AlertDialog) 的样式
- android 提示对话框显示 AlertDialog