2016-05-10 86 views
-2

我想了解如何加载一个屏幕,而我的所有方法和数据完全加载完成。我注意到Gmail,Instagram等应用在屏幕完全加载时在中间有一个白色的加载图标,而我的一些数据需要一段时间才能加载,所以我想知道如何在屏幕上显示一个加载屏幕,而不是在准备就绪时闪烁数据。如何在android上加载数据时有加载屏幕?

我想过的一个想法是在相对布局和负载中围绕整个视图,使相对布局内的布局可见,然后切换到另一个视图......我不知道这是否是最聪明的方式,但让我知道是否有另一种更有效的方法。我将需要这个用于每个屏幕,因为它调用服务器 - 预缓存,也有一些屏幕不会缓存数据,因为它没有任何意义。

让我知道是否有任何简单的库或模块化技术,我可以在我的XML布局计划之外实现。

+0

首先,这不是屏幕。如果您正在使用AsyncTask,那么您可以使用进度对话框显示进度或加载视图。检查此文档 - http://developer.android.com/reference/android/app/ProgressDialog.html –

+0

完整教程在这里。 http://www.tutorialspoint.com/android/android_progressbar.htm –

+1

我正在使用Retrofit来获取数据,哪些工作异步,是否提供了一个进度对话框或简单的方法来实现它呢? – Lion789

回答

1

声明你的对话框

ProgressDialog progress; 

当你准备好开始进度对话框:

progress = ProgressDialog.show(this, "dialog title", 
"dialog message", true); 

,并使它消失时,即可大功告成:

progress.dismiss(); 
+1

谢谢有没有办法掩盖整个屏幕,改变对话框覆盖一切? - 或为其设置自定义视图? – Lion789

+0

如果此答案提供了您的解决方案,请接受它作为解决方案 –

0

这是非常多的。您可以通过不同的布局加载进度条或与进度条相同的活动来进行不同的活动。

如果你下载了大量的数据,但你不想让用户等待你可以下载所有的数据ñ保存在设备上。下次如果用户打开应用程序,则向他们显示保存的数据中的数据,然后在后台更新它的两侧​​。