博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中的各种Dialog
阅读量:5916 次
发布时间:2019-06-19

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

hot3.png

   下面是自己总结的Android常用的几种Dialog:

1.AlertDialog android中功能最丰富,用途最广的对话框。

// 1 创建一个Builder  	AlertDialog.Builder builder = new AlertDialog.Builder(this);	// 2 给Builder设置属性	builder.setTitle("Java培训");// 设置Dialog的标题		builder.setMessage("访问OSC的网页");// 设置Dialog的信息		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {// 设置确定按钮					@Override					public void onClick(DialogInterface dialog, int which) {						Toast.makeText(getApplicationContext(), "访问OSC的网页", 0).show();					}				});		builder.setNeutralButton("隐藏", new DialogInterface.OnClickListener() {			@Override			public void onClick(DialogInterface dialog, int which) {			}		});		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {			@Override			public void onClick(DialogInterface dialog, int which) {			}		});	//从上我们可以看出Dialog的按钮一般分为了三种,确定builder.setPositiveButton(),隐藏builder.setNeutralButton,取消builder.setNegativeButton	// 3 创建Dialog		AlertDialog dialog = builder.create();			// 4 显示Dialog		dialog.show();

2.ListDialog,设置选项的时候用如下代码:

final String[] items = { "java", "donet", "php" };builder.setItems(items, new DialogInterface.OnClickListener() {			@Override			public void onClick(DialogInterface dialog, int which) {				Toast.makeText(getApplicationContext(), items[which], 0).show();			}		});

3.singleItemDialog,这样子能够让选项以单选框的样式呈现出来:

builder.setSingleChoiceItems(items, 2, new DialogInterface.OnClickListener() {			@Override			public void onClick(DialogInterface dialog, int which) {				Toast.makeText(getApplicationContext(), items[which], 0).show();			}		});

4.多选框的Dialog

final String[] items = { "java", "donet", "php" };		final boolean[] checkedItems = new boolean[] { true, false, false };		AlertDialog.Builder builder = new AlertDialog.Builder(this);		builder.setTitle("选择语言");		builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {			@Override			public void onClick(DialogInterface dialog, int which, boolean isChecked) {				Toast.makeText(getApplicationContext(), items[which] + isChecked, 0).show();			}		});

5.进度条的dialog

ProgressDialog progressDialog = new ProgressDialog(this);		progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置为水平进度条		progressDialog.setTitle("正在下载。。。");		progressDialog.setMax(100);// 设置进度条的最大值		progressDialog.setCancelable(false);// 设置回退键失效		progressDialog.setButton("取消", new DialogInterface.OnClickListener() {			@Override			public void onClick(DialogInterface dialog, int which) {			}		});		progressDialog.show();		progressDialog.setProgress(50);// 设置进度条的当前刻度

注意的是Dialog是activity的一个控件,弹出Dialog的时候,activity是不会失去焦点的,也就是说activity不会调用onPause()方法

转载于:https://my.oschina.net/keeponmoving/blog/62108

你可能感兴趣的文章
linux nfs网络文件共享
查看>>
PHP企业实战安装步骤
查看>>
android AsyncTask介绍
查看>>
ubuntu chromium字体发虚的解决方法及字体美化
查看>>
mysql
查看>>
oracle中varchar,varchar2,nvarchar2有什么区别?
查看>>
Docker部署Jenkins测试环境
查看>>
思科-基本配置
查看>>
Linux初级运维(二十三)——Web服务及http协议相关知识
查看>>
ls列出文档及属性
查看>>
ios隐藏uitableview下面多余的tableview的线条
查看>>
我的友情链接
查看>>
快速查询全网Dns解析情况
查看>>
它究竟适合谁?Surface Pro 外媒评测汇总
查看>>
linux文件的四种权限
查看>>
我的友情链接
查看>>
mysqlbinlog 增量备份和恢复
查看>>
汇编—函数调用栈
查看>>
移动互联网的营销新策略
查看>>
mysql explain的bug
查看>>