如何在文本视图附近显示“加载”图像

时间:2012-09-02 18:03:54

标签: android

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

sample image http://img685.imageshack.us/img685/1403/androidwait.png

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

重点:当图像消失时,其布局区域将由文本视图使用,并且不会有空白。

3 个答案:

答案 0 :(得分:4)

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

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

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

注意: Android中的ProgressBar可以有2种状态:横向显示进度,或者只旋转圆圈,就像屏幕截图一样。默认值是第2,所以就是你想要的。

祝你好运

答案 1 :(得分:1)

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

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

似乎只是我想要。

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

答案 2 :(得分:0)

您可以将imageview放入asyntask

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

onPostExecute(){//在此处关闭imageview}