安卓加载动画

7

我正在寻找有关如何在Android中创建加载动画的信息。是否可能创建此动画,以便我可以在一个线程中调用此动画并在另一个线程中结束?

我正在寻求以下内容:

enter image description here

3个回答

18

尝试下面的代码

用于显示进度对话框:

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

在取消 ProgressDialog 之后下面是代码:

 mdialog.dismiss();

在异步任务中,我调用了这个方法并得到了以下错误信息: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() - Streetboy
1
在启动线程之前,您必须启动ProgreeDialog,并在结束线程时关闭进度对话框..! - Dinesh
如果我正在使用AsyncTask,那么在哪个方法中应该开始和结束ProgressDialog? - Streetboy
好的。请尝试这个教程,获取更多信息:http://www.vogella.com/articles/AndroidPerformance/article.html - Dinesh

2

2

您不能从任何非UI线程启动/结束ProgressDialog。最简单的方法是使用AsyncTask方法onPreExecute和onPostExecute。但我建议小心使用。

  1. 您不希望在async task中丢失对对话框的引用(用户更改方向或旋转屏幕)。因此,您需要保留对对话框的弱引用。
  2. 如果您正在进行严重的加载工作,则建议使用服务,并侦听服务回调(例如广播)来控制对话框。这还将允许您将Activity生命周期与后台工作分开。

你如何使用弱引用?当我在我的异步任务中使用ProgressDialog时,会出现异常(IllegalArgumentException)。 - J Blaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接