博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Andriod 对话框 .
阅读量:7047 次
发布时间:2019-06-28

本文共 3733 字,大约阅读时间需要 12 分钟。

  hot3.png

2012-09-21 13:28 95人阅读 (0) 收藏

在Activity中可以调用showDialog()来显示一个对话框,覆盖Activity的onCreateDialog方法,在这个方法中创建对话框,返回一个Dialog对象。

1.最简单的对话框

[java]
AlertDialog.Builder b=new  AlertDialog.Builder(this);b.setTitle("简单的");			b.setMessage("this is a simple dialog");			b.setPositiveButton("是", new DialogInterface.OnClickListener() {								@Override				public void onClick(DialogInterface dialog, int which) {					// TODO Auto-generated method stub									}			});			b.setNegativeButton("否", new DialogInterface.OnClickListener() {								@Override				public void onClick(DialogInterface dialog, int which) {					// TODO Auto-generated method stub									}			});			return b.create();

效果如下

2.列表对话框

[java]

 

b.setTitle("列表");			//b.setMessage("message");这行代码不要有			b.setItems(items, new DialogInterface.OnClickListener() {								@Override				public void onClick(DialogInterface dialog, int which) {					// TODO Auto-generated method stub					Toast.makeText(AndroidDialogActivity.this, items[which], Toast.LENGTH_SHORT).show();									}			});			return b.create();

items是一个String数组

效果图

3.单选对话框

[java]
b.setTitle("请选择颜色");			b.setSingleChoiceItems(items, -1,  new DialogInterface.OnClickListener() {								@Override				public void onClick(DialogInterface dialog, int which) {					// TODO Auto-generated method stub					Toast.makeText(AndroidDialogActivity.this, items[which], Toast.LENGTH_SHORT).show();									}			});			b.setPositiveButton("是", new DialogInterface.OnClickListener() {								@Override				public void onClick(DialogInterface dialog, int which) {					// TODO Auto-generated method stub									}			});			b.setNegativeButton("否", new DialogInterface.OnClickListener() {								@Override				public void onClick(DialogInterface dialog, int which) {					// TODO Auto-generated method stub									}			});			return b.create();

效果图

4.多选对话框

 

[java]

 

boolean []ddd=new boolean[3];			b.setTitle("请选择颜色");			b.setMultiChoiceItems(items, ddd, new DialogInterface.OnMultiChoiceClickListener(){				@Override				public void onClick(DialogInterface dialog, int which,						boolean isChecked) {					// TODO Auto-generated method stub									}							});						return b.create();

效果图

5.进度条对话框

[java]
Handler hand=new Handler(){		@Override		public void handleMessage(Message msg) {			// TODO Auto-generated method stub			super.handleMessage(msg);			if(progressint>=100)			{				pd.dismiss();			}			else			{				progressint++;				pd.setProgress(progressint);				hand.sendEmptyMessageDelayed(0, 100);			}					}			};pd=new ProgressDialog(this);			pd.setTitle("进度对话框");			pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);			pd.setMax(100);			AndroidDialogActivity.this.hand.sendEmptyMessage(0);			pd.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new DialogInterface.OnClickListener(){				@Override				public void onClick(DialogInterface dialog, int which) {					// TODO Auto-generated method stub														}});			return pd;

效果图

6.代码自定义对话框

[html]
EditText et=new EditText(this);			et.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD|InputType.TYPE_CLASS_TEXT);			b.setTitle("请输入密码");			b.setView(et);			return b.create();

效果图

7.XML文件自定义对话框

xml文件

[html]

Java代码

[java]

 

b.setIcon(R.drawable.ic_launcher);			b.setTitle("自定义对话框");			LayoutInflater li=LayoutInflater.from(this);			View v=li.inflate(R.layout.info, null);			Button yes=(Button) v.findViewById(R.id.buttonyes);			yes.setOnClickListener(new OnClickListener(){				@Override				public void onClick(View v) {					// TODO Auto-generated method stub					Toast.makeText(AndroidDialogActivity.this, "Hello World", Toast.LENGTH_SHORT).show();				}});			b.setView(v);			return b.create();

效果图

转载于:https://my.oschina.net/mybug/blog/79799

你可能感兴趣的文章
mysql清空表的方法
查看>>
Http协议及apache配置笔记
查看>>
读书笔记-大颠狂(非同寻常的大众幻想与群众性癫狂)
查看>>
MySQL 多条数据的一个字段合并
查看>>
jquery AJAX清除IE缓存问题
查看>>
Percona XtraBackup (译一):首页
查看>>
一大早就解决了个服务器***问题
查看>>
配置 WebLogic Maven Plug-In 远程部署weblogic
查看>>
聊一聊Java中的系列化
查看>>
Objective-c 继承,多态,封装
查看>>
Red Hat Linux 6.0安装图解
查看>>
Python列表详解
查看>>
Fresco图片显示
查看>>
从无法开启 OCSP Stapling 说起,OCSP是什么
查看>>
我的友情链接
查看>>
项目中遇到的问题
查看>>
Linux下进程管理工具之(三):glances
查看>>
如何添加AdMob广告到现有的Unity3D ios游戏
查看>>
linux C函数之strdup函数分析
查看>>
速度收藏 | 100+篇大数据、数据分析、数据挖掘电子书免费下载!
查看>>