对话框详解1

简介: 本文演示了两种特殊对话框--ProcessDialog的使用方法:主程序如下:public class Main extends Activity implements OnClickListener { private static final int MAX_PROGRESS ...

本文演示了两种特殊对话框--ProcessDialog的使用方法:




主程序如下:

public class Main extends Activity implements OnClickListener {
	private static final int MAX_PROGRESS = 100;
	private ProgressDialog progressDialog;
	private Handler progressHandler;
	private int progress;

	// 显示进度对话框,style表示进度对话框的风格
	private void showProgressDialog(int style) {
		progressDialog = new ProgressDialog(this);
		progressDialog.setIcon(R.drawable.wait);
		progressDialog.setTitle("正在处理数据...");
		progressDialog.setMessage("请稍后...");
		// 设置进度对话框的风格
		progressDialog.setProgressStyle(style);
		// 设置进度对话框的进度最大值
		progressDialog.setMax(MAX_PROGRESS);
		// 设置进度对话框的【暂停】按钮
		progressDialog.setButton("暂停", new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int whichButton) {
				// 通过删除消息代码的方式停止定时器
				progressHandler.removeMessages(1);
			}
		});
		// 设置进度对话框的【取消】按钮
		progressDialog.setButton2("取消", new DialogInterface.OnClickListener() {
			public void onClick(DialogInterface dialog, int whichButton) {
				// 通过删除消息代码的方式停止定时器的执行
				progressHandler.removeMessages(1);
				// 恢复进度初始值
				progress = 0;
				progressDialog.setProgress(0);
			}
		});
		progressDialog.show();
		progressHandler = new Handler() {
			@Override
			public void handleMessage(Message msg) {
				super.handleMessage(msg);
				// if (progressDialog.getProgress() >= MAX_PROGRESS)
				if (progress >= MAX_PROGRESS) {
					// 进度达到最大值,关闭对话框
					progress = 0;
					progressDialog.dismiss();

				} else {
					progress++;
					// 将进度递增1
					progressDialog.incrementProgressBy(1);
					// 随机设置下一次递增进度(调用handleMessage方法)的时间
					progressHandler.sendEmptyMessageDelayed(1,
							50 + new Random().nextInt(500));

				}
			}
		};

		// 设置进度初始值
		progress = (progress > 0) ? progress : 0;
		progressDialog.setProgress(progress);
		progressHandler.sendEmptyMessage(1);
	}

	public void onClick(View view) {
		switch (view.getId()) {
		case R.id.button1:
			// 显示进度条风格的进度对话框
			showProgressDialog(ProgressDialog.STYLE_HORIZONTAL);
			break;

		case R.id.button2:
			// 显示旋转指针风格的进度对话框
			showProgressDialog(ProgressDialog.STYLE_SPINNER);
			break;
		}
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button button1 = (Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		Button button2 = (Button) findViewById(R.id.button2);
		button2.setOnClickListener(this);

	}
}


目录
相关文章
|
监控 Java Apache
基于Log4j完成定时创建和删除日志的方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 Log4j作为常用的日志生成工具,其清除日志的策略却十分有限。只有在RollingFileAppender中可以通过设置MaxFileSize和maxBackupIndex属性来指定要保留的日志文件大小以及个数,从而实现自动清除。
2048 0
|
5月前
|
存储 缓存 关系型数据库
MySQL为什么需要主键
本文介绍了MySQL中主键的重要性及最佳实践。主键用于唯一标识表中的每一行,其值必须唯一且不允许为空。主键有助于简化更新和删除操作,避免影响无关行。推荐使用与业务无关的自增ID作为Innodb表的主键,以优化存储结构、减少碎片并提高性能。此外,文章还提到不更新、不重用主键值以及避免使用可能变更的字段(如邮箱)作为主键的良好习惯。最后强调了紧凑索引结构对查询效率的关键作用。
162 0
MySQL为什么需要主键
|
8月前
|
人工智能 资源调度 数据可视化
StoryWeaver:故事可视化生成模型,快速生成故事绘本,支持处理单角色和多角色的故事可视化任务
StoryWeaver 是厦门大学与网易伏羲联合推出的 AI 模型,通过知识图谱和角色定制技术,实现高质量的故事可视化。
459 18
StoryWeaver:故事可视化生成模型,快速生成故事绘本,支持处理单角色和多角色的故事可视化任务
|
8月前
|
弹性计算 人工智能 自然语言处理
操作系统智能助手OS Copilot新功能上线,快来体验吧
阿里云智能助手OS Copilot是一款基于大模型的Linux操作系统智能助手,支持自然语言问答、辅助命令执行、系统运维调优等功能。通过自然语言处理技术,OS Copilot能够帮助用户轻松完成复杂的命令操作和系统管理任务,极大提升了操作便捷性和效率。用户可以通过简单的对话获取所需的操作指令,降低了对专业技能的要求。
|
8月前
|
存储 人工智能 安全
阿里云 Confidential Al 最佳实践
本次分享的主题是阿里云 Confidential AI 最佳实践 ,由阿里云乾越分享。 1. 需求背景介绍 2. 大规模场景下面临的系统及安全风险 3. 计算栈的共享职责模型与用户信任边界的冲突 4. 传统计算、存储和网络安全技术中存在用户信任成本较高的问题 5. Confidential AI 方案实施模式 6. 基于CAI技术的阿里云Confidential Cloud Computing架构 7. Confidential AI on EGS DEMO 8. 阿里云全面应用Confidential AI 9. 完备的机密计算远程证明过程 10.发布《机密计算保障人工智能系统安全研究报告
288 1
|
10月前
|
人工智能 边缘计算 云计算
2024.11|云计算行业的商业模式创新方法及实践
截至2024年,全球云计算行业迈入全新阶段,从IaaS到大规模AI模型平台,技术与商业模式不断创新。本文分析全球最新技术进展,探讨云计算商业模式创新策略与实践,解析云服务厂商如何通过技术革新实现价值最大化,推动企业数字化与智能化转型。重点讨论AI与云计算的深度融合、边缘计算与去中心化发展、平台化与生态系统建设,以及数据安全与绿色云计算等关键议题。
610 30
|
8月前
|
运维 自然语言处理 供应链
阿里云 × 用友BIP超级版联合发布暨产品分享
本次分享介绍阿里云与用友BIP超级版联合发布的解决方案,旨在帮助企业应对数字化转型中的挑战。主要内容分为三部分:一、市场需求及客户痛点,分析企业数字化转型的六大特征和中大型企业在数智化建设中面临的难题;二、用友BIP超级版on阿里云解决方案,涵盖业务架构、三大核心价值主张(超级领先、超级快、超级省)及智能应用;三、成功客户案例,如洛阳钼业在50天内完成采购供应链领域的数字化部署。该方案助力企业快速实现数字化转型,提升运营效率并降低成本。
168 0
|
9月前
|
人工智能 定位技术 云计算
阿里云+Salesforce:更多功能,上新!
阿里云与Salesforce合作,推出多项新功能,包括移动应用、Connect、外部身份识别等,支持瓴羊智能和高德地图集成,助力企业数字化转型。
|
10月前
|
人工智能 算法
人工智能浪潮中的伦理困境:我们如何确保技术的道德发展?
【10月更文挑战第22天】在人工智能(AI)技术的迅猛发展中,伴随着巨大的潜力和便利性,也出现了众多伦理问题。从数据隐私到算法偏见,再到自动化带来的失业问题,AI的每一步进步都在考验着人类社会的道德底线。本文将探讨AI技术发展中的主要伦理问题,并讨论如何通过制定标准、教育和跨学科合作来确保AI技术的道德发展。