Android 延迟加载对话框(Dialog和PopupWindow)

上一篇讲解了Dialog和PopupWindow的用法和区别,最后也讲了一些二者实现上的原理。之前都是一些干货,接下来分享一个实际项目开发中采用的Dialog。 

对于一个App来讲都需要加载数据,不管是网络数据还是本地数据,如果数据量比较大的情况下,加载需要时间的情况下往往都需要弹出一个Loading,提示用户正在加载 .数据,一般情况下Loading都是弹出Dialog,提示一些信息。但是数据量的大小往往不是可控的,可能刚开始使用的时候本地数据量比较小,所以加载的很快。后者说网络情况很 好的时候可能需要1s加载出所有的数据,而网络不好的时候可能需要2s加载出所有的数据。但是有时候一次数据加载可能很短,比如刷新一下数据,如果数据量很小的情况下很 可能瞬间就加载完成,这时候进行瞬间弹出Loading由进行瞬间dismiss隐藏,就会造成很不好的用户体验。所以下面分享一个可以进行延迟加载的Loading。

代码如下:

Android 延迟加载对话框(Dialog和PopupWindow)_第1张图片

这个自定义的Dialog默认设置了0.5s的延迟时间,1s的最短显示时间。如果在0.5s之内调用了dismiss方法。Dialog就不会进行显示了,这样就解决了断时间加载界面跳的情况。而设置最短显示时间是防止0.5s之后界面跳的情况。所以只要显示就必须最短显示1s中。这些时间根据需求自定义设置就好了。实现上主要是通过Handler发送延迟消息来完成,并且判断此时消息队列中的消息情况来判断此时处于的场景。

Demo地址:https://github.com/24KWYL/DelayDialog.git

你可能感兴趣的:(Android 延迟加载对话框(Dialog和PopupWindow))