2012-04-20 96 views
7

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

我寻找这样的:代码

ProgressDialog下面

enter image description here

回答

18

尝试用于显示:

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

取消后ProgressDialog下面的代码:

mdialog.dismiss(); 
+0

在异步任务我把这种并获得: 了java.lang.RuntimeException:无法创建内部)螺纹已经不叫Looper.prepare( – Streetboy 2012-04-20 08:33:48

+1

处理程序必须启动ProgreeDialog开始前螺纹和dimiss进度对话框从结束线程..! – Dinesh 2012-04-20 08:35:46

+0

如果我使用AsyncTask,我应该使用哪种方法atar并结束ProgressDialog? – Streetboy 2012-04-20 08:51:44

2

您不能从其他UI线程的任何线程开始/结束ProgressDialog。最简单的方法是在onExExcute onPostExecute上使用AsyncTask方法。但我会小心的。

  1. 您不想失去对异步任务(用户更改方向或旋转屏幕)的对话框的引用。所以你想保持WeakReference对话框
  2. 如果你正在做严重的加载worj,我会推荐使用它的服务和监听服务回调(如广播)来控制对话框。这也将允许您将Activity生命周期与后台工作分开。
+0

如何使用弱引用?当我在Async任务中使用ProgressDialog时,出现异常(IllegalArgumentException)。 – 2015-12-11 17:40:12