7

我正在寻找一些关于如何在 android 中创建加载动画的信息。是否可以创建这个动画,我可以在一个线程中调用这个动画并在另一个线程中结束?

我寻求这个:

在此处输入图像描述

4

3 回答 3

18

试试下面的代码

ProgressDialog 用于显示:

 ProgressDialog mDialog = new ProgressDialog(getApplicationContext());
                mDialog.setMessage("Loading...");
                mDialog.setCancelable(false);
                mDialog.show();

取消 ProgressDialog 后,代码如下:

 mdialog.dismiss();
于 2012-04-20T08:19:08.577 回答
2

这基本上是通过AsyncTask和由AsyncTask启动和关闭的ProgressDialog(使用微调器样式)完成的。

于 2012-04-20T08:19:15.187 回答
2

您不能从该 UI 线程以外的任何线程启动/结束 ProgressDialog。这是最简单的,因为您希望使用 AsyncTask 方法 onPreExecute onPostExecute。但我会小心的。

  1. 您不想从异步任务中丢失对对话框的引用(用户更改方向或旋转屏幕)。所以你想保持 WeakReference 到对话框
  2. 如果您正在认真加载 worj,我建议您使用 Service 并侦听服务回调(如广播)来控制对话。这也将允许您将活动生命周期与后台工作分开。
于 2012-04-20T08:30:22.903 回答