0

我需要一种在文本视图附近显示“加载”图像的方法。在我的应用程序中,一些数据会定期从服务器接收,当这些进程执行时,我需要向用户显示加载(等待)图像,如下图所示。

示例图片 http://img685.imageshack.us/img685/1403/androidwait.png

然后,执行完成后,我希望加载图像从屏幕上消失。一段时间后,当异步任务开始再次接收一些数据时。此图像将再次显示。这所有过程将定期进行。我不使用 ProgressDialog。因为它覆盖了所有屏幕并让用户等待。

重要的一点:当图像消失时,它在布局中的区域将被文本视图使用,并且不会有空白。

4

3 回答 3

4

为什么不使用进度条?http://developer.android.com/reference/android/widget/ProgressBar.html

您可以在主 UI 内的任何位置对其进行充气,并使用 和 进行progressBar.setVisibility(View.GONE)操作progressBar.setVisibility(View.VISIBLE)

请不要忘记仅在主 UI 线程中执行此操作。所以要么使用 AsyncTask 的 onPostExecute,要么使用activity.runOnUiThread(Runnable).

注意: Android 中的 ProgressBar 可以有 2 种状态:水平的有进度,或者只是旋转的圆圈,就像你的截图一样。默认是第二个,所以这正是你想要的。

祝你好运

于 2012-09-02T18:08:21.763 回答
1

本教程是我的问题的答案。当我们应用这个 xml 代码时,我们想在布局中显示旋转圆形进度条,

<ProgressBar
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         style="@android:style/Widget.ProgressBar.Small"
         android:layout_marginRight="5dp" />

似乎只是我想要的。

然后使用java代码来启动和停止它。

于 2012-09-04T15:29:26.853 回答
0

您可以在 asyntask 中放置一个图像视图

onPreExecute(){//Imageview 在此处设置为可见}

onPostExecute(){//在这里关闭imageview}

于 2012-09-02T18:06:21.780 回答