效果图:

参看以下代码:

public class ProgressActivity extends Activity implements OnClickListener {// 最大进度private static final int MAX_PROGRESS = 100;// 进度条private ProgressDialog progressDialog;// 当前进度值private int progress = 0;// 控件private Button btn_progress_1;private Button btn_progress_2;private Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what) {case 1:if (progress > MAX_PROGRESS) {// 达到最大值progress = 0;progressDialog.dismiss();} else {progress++;// 进度递增1progressDialog.incrementProgressBy(1);handler.sendEmptyMessageDelayed(1,50 + new Random().nextInt(500));}break;default:break;}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_progress);initViews();initListeners();}private void initViews() {btn_progress_1 = (Button) findViewById(R.id.btn_progress_1);btn_progress_2 = (Button) findViewById(R.id.btn_progress_2);}private void initListeners() {btn_progress_1.setOnClickListener(this);btn_progress_2.setOnClickListener(this);}/*** 显示对话框*/@SuppressWarnings("deprecation")private void showProgressDialog(int style) {progressDialog = new ProgressDialog(this);progressDialog.setIcon(R.drawable.ic_launcher);progressDialog.setTitle("正在处理数据...");progressDialog.setMessage("请稍后...");// 设置进度对话框的风格progressDialog.setProgressStyle(style);// 设置进度对话框的进度最大值progressDialog.setMax(MAX_PROGRESS);// 设置进度对话框的“暂停”按钮progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "暂停",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {handler.removeMessages(1);}});// 设置进度对话框的“取消”按钮progressDialog.setButton(DialogInterface.BUTTON_NEUTRAL, "取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {handler.removeMessages(1);// 重置progress = 0;progressDialog.setProgress(progress);}});progressDialog.show();progress = (progress > 0) ? progress : 0;progressDialog.setProgress(progress);handler.sendEmptyMessage(1);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_progress_1:// 进度对话框showProgressDialog(ProgressDialog.STYLE_HORIZONTAL);break;case R.id.btn_progress_2:// 旋转对话框showProgressDialog(ProgressDialog.STYLE_SPINNER);break;default:break;}}}

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/45024997 情绪控_

Android之创建简单的ProgressDialog相关推荐

  1. 使用 Amazon Amplify快速创建简单的 Android 应用程序

    背景: 亚马逊云科技提供了100余种产品免费套餐.其中,计算资源Amazon EC2首年12个月免费,750小时/月:存储资源 Amazon S3 首年12个月免费,5GB标准存储容量. 大家好,我是 ...

  2. 如何在android中创建自定义对话框?

    本文翻译自:How to create a Custom Dialog box in android? I want to create a custom dialog box like below ...

  3. Android字体占有内存,android随意创建字体对象引发的应用程序运行时占用内存过大...

    android随意创建字体对象引发的应用程序运行时占用内存过大 在实际开发android项目过程中,由于是初次设置android系统没有的字体,所以用到了一个外部文件FounderFineRoundS ...

  4. Android开发环境简单配置

    为什么80%的码农都做不了架构师?>>>    ·         Android开发环境简单配置 写这个系列的原因也是因为自己对android比较感兴趣,而网上多数教程都是直接参照 ...

  5. android 观察者,Android开发实现简单的观察者与被观察者示例

    本文实例讲述了Android开发实现简单的观察者与被观察者.分享给大家供大家参考,具体如下: 概述: 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它 ...

  6. android EventBus的简单使用

    今天,简单讲讲Android里关于EventBus的使用. 这几天,由于面试的缘故,我听到了很多Android的流行框架,但是之前自己在公司做APP时并没有使用,所以没有了解.于是在网上查找了资料,学 ...

  7. android EventBus的简单使用

    今天,简单讲讲Android里关于EventBus的使用. 这几天,由于面试的缘故,我听到了很多Android的流行框架,但是之前自己在公司做APP时并没有使用,所以没有了解.于是在网上查找了资料,学 ...

  8. android工程中的软件,通过Android Studio创建Android应用程序(附带解析)

    这一节我们主要来创建一个简单的 Android 的应用程序. 创建 HelloWorld 工程 启动 Android Studio,依次选择 File --> New --> New Pr ...

  9. android studio创建构造方法,使用Android studio创建你的第一个项目

    1.创建HelloWorld项目 任何编程语言写出的第一个程序毫无疑问都会是Hello World,这已经是自20世纪70年代一直流传下来的传统,在编程界已成为永恒的经典,那么今天就来使用Androi ...

最新文章

  1. codeforces round25
  2. 太难了!产品经理想拿高薪
  3. 这个拖后腿的“in”
  4. C++类模板中的static成员
  5. 领域应用 | 大众点评搜索基于知识图谱的深度学习排序实践
  6. GDKOI 2016
  7. 14.程序员常用10种算法
  8. 多线段几何图形—— 简单几何图形(判断一个点是否在图形的内部)
  9. ESP8266/ESP-01固件下载方法
  10. lr0文法分析表示例_LR(0)文法项目集规范族、DFA和分析表的构建实例
  11. CF1132D Stressful Training (binary search)(greedy)
  12. 匹兹堡大学约翰斯敦计算机学院,英语翻译翻译Every human being,no matter what he is doing,gives off...
  13. 程序员的进化 - 在拉勾1024程序员节上的演讲
  14. 点阵、基元和晶体结构之间的关系
  15. 图:邻接矩阵表示法创建无向图并深度优先搜索遍历
  16. matlab怎么数值模拟。,matlab的数值模拟方法.doc
  17. 用 MAUI 在Windows 和 Linux 绘制 PPT 图表
  18. solidity智能合约implicit conversion异常
  19. Winform平台的HTML编辑控件——Zeta HTML
  20. 分布式消息队列RocketMQ(四):磁盘阵列RAID(补充)

热门文章

  1. conda create -n python 3.6_conda创建python环境
  2. win7无线热点_Windos7系统笔记本设置无线热点教程,应急时候可以用
  3. 蓝桥杯 密文搜索(全排列)
  4. mongo explain分析详解
  5. java中注解的使用与实例 (二)
  6. 基于AgileEAS.NET SOA 平台SAAS架构技术的开源分销ERP系统-SmartERP.NET下载配置说明
  7. (转)C#开发微信门户及应用(4)--关注用户列表及详细信息管理
  8. 为Office365增加密码过期自动提醒功能
  9. 最喜欢的 jQuery 插件
  10. 学习C语言深入解剖笔记之关键字的秘密