Android对话框AlertDialog
来源:互联网 发布:55开的淘宝店地址 编辑:程序博客网 时间:2024/06/14 04:24
一、4种常用的对话框
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() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show();}})//设置取消按钮.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.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() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(MainActivity.this).setTitle("简单列表对话框").setIcon(R.drawable.ic_launcher).setItems(items, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了"+items[which]+"选项", Toast.LENGTH_SHORT).show();}}).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show();}}).create().show();}3、使用setSingleChoiceItems()方法创建单选列表对话框,调用该方法的时候可以传入数组、Cursor、ListAdapter作为参数。
btn_3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(MainActivity.this).setTitle("单选列表对话框").setIcon(R.drawable.ic_launcher).setSingleChoiceItems(items, 1,new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了"+items[which]+"选项", Toast.LENGTH_SHORT).show();}}).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show();}}).create().show();}});4、使用setMultieChoiceItems()方法创建多选项对话框,调用该方法的时候可以参入数组、Cursor作为参数.
btn_4.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(MainActivity.this).setTitle("多选列表对话框").setIcon(R.drawable.ic_launcher).setMultiChoiceItems(items,new boolean[]{true,false,false,true},null).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了取消按钮", Toast.LENGTH_SHORT).show();}}).create().show();}});5、使用setAapter()方法创建自定义列表对话框。调用该方法的时候需要传入一个Adapter作为参数.
btn_5.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "你单击了确定按钮", Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.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);@Overridepublic void onClick(View v) {// TODO Auto-generated method stubnew AlertDialog.Builder(MainActivity.this).setTitle("自定义对话框").setIcon(R.drawable.ic_launcher).setView(loginForm).setPositiveButton("登陆", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "此处执行登陆处理", Toast.LENGTH_SHORT).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, "此处执行取消处理", Toast.LENGTH_SHORT).show();}}).create().show();}});
0 0
- Android中的对话框AlertDialog
- 【Android】对话框 AlertDialog
- Android对话框之AlertDialog
- Android 对话框 (AlertDialog & ProgressDialog)
- android AlertDialog对话框
- 【Android】对话框 AlertDialog
- 【Android】对话框 AlertDialog
- Android 重写对话框AlertDialog
- 【Android】对话框 AlertDialog
- 【Android】对话框 AlertDialog
- 【Android】对话框 AlertDialog
- android AlertDialog对话框
- android基础--AlertDialog对话框
- 【Android】对话框 AlertDialog
- Android--AlertDialog对话框
- Android创建AlertDialog对话框
- android 对话框AlertDialog
- 关于Android 对话框 AlertDialog
- NULL值会影响SQL查询结果
- zoj 3820 Building Fire Stations (二分+树的直径)
- 配置ORACLE数据源
- Objective-C KVC 自动转换类型研究
- NOIP 2012花匠
- Android对话框AlertDialog
- 支持向量机(SVM)
- 解决win8.1安装VC6.0兼容性问题
- 算法---基数排序
- 【LeetCode】Algorithms 题集(五)
- spring中配置MySql数据源,怎样配置数据库信息
- Java编程算法基础---整除性问题
- PHP第一章之首个页面Hello.html
- Unity相关的平台相关的条件开关