我需要一种在文本视图附近显示“加载”图像的方法。在我的应用程序中,一些数据定期从服务器接收,而这些进程执行时我需要向用户显示加载(等待)图像,如下图所示。
sample image http://img685.imageshack.us/img685/1403/androidwait.png
然后,当执行完成时,我想加载图像从屏幕上消失。一段时间后,asyn任务开始再次接收一些数据。此图像将再次显示。这个过程将定期进行。我不使用ProgressDialog。因为它覆盖了所有屏幕并让用户等待。
重点:当图像消失时,其布局区域将由文本视图使用,并且不会有空白。
答案 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}