1.需求:在上传图片等一些耗时操作,长时间未收到服务器响应,应对用户进行等待提醒,防止用户多次操作。

我们可以使用android原生的ProgressDialog进行实现。

①首先声明一个ProgressDialog

private ProgressDialog progressDialog;

②用ProgressDialog.show(...)来进行信息设置,有几种参数不同的show方法。

ProgressDialog show(Context context, CharSequence title, CharSequence message, boolean indeterminate, boolean cancelable) 

(1)context表示上下文,MainActivity.this或getActivity()等;

(2)title代表progress提示框的标题;

(3)message为具体提示的信息;

(4)indeterminate一个动画效果 为true时,可以明确知道进度;false时代表模糊不定的,无法明确知道当前的进度。

(5)cancelable可否通过点击其他区域或返回键,取消progressDialog的展示。

如果已有progressDialog我们可以通过set方法更新dialog信息。最后用show()方法进行展示。

public void showProgressDialog(String title, String message) {        if (progressDialog == null) {            progressDialog = ProgressDialog.show(UploadActivity.this, title,message, false, false);        } else if (progressDialog.isShowing()) {            progressDialog.setTitle(title);            progressDialog.setMessage(message);        }        progressDialog.show();    }

③progressDialog.dismiss()进行dialog的取消。

public void hideProgressDialog() {        if (progressDialog != null && progressDialog.isShowing()) {            progressDialog.dismiss();        }    }
④如button的click方法触发了耗时操作,则调用showProgressDialog,在接到 成功返回 或 失败返回 均应调用hideProgressDialog方法。

更多相关文章

  1. EditText焦点自动带出软键盘问题
  2. Android(安卓)面试题总结之View(一)
  3. django返回json的几种方法以及android调用
  4. Android照片墙瀑布流的实现与思考
  5. Android面试题集锦(二)
  6. androidのSharedPreferences存储集合对象
  7. Android(安卓)P实现静默安装的方法示例(官方Demo)
  8. Android异步处理类AsyncTask
  9. Android(安卓)UI绘制流程之测量篇

随机推荐

  1. eBPF在网易轻舟云原生的应用实践
  2. 网易数帆基于DPDK的高性能四层负载均衡实
  3. Bitlocker分区转换失败的恢复案例
  4. 抖音域名防封免拦截有哪些可靠有效的方法
  5. 大华NVR监控恢复案例
  6. 如何解决迁移新域后用友ERP U8打印报错执
  7. 面试官:谈谈 SimpleDateFormat 的线程安全
  8. SpringBoot同时支持多个视图解析器jsp+ht
  9. 如何解决 MacBook Pro Touch ID不起作用?
  10. 留后门?Nacos被爆存在严重的旁路身份验证