美文网首页Android开发程序员今日看点
Android转场动画在异步加载页面遇到的坑

Android转场动画在异步加载页面遇到的坑

作者: dengyin2000 | 来源:发表于2017-01-22 22:13 被阅读2092次

    从android5.0开始系统引入了非常酷炫的转场动画,如何实现请自行google,网上的例子一大把,但是说的都是一些静态资源View,本人在做一个类似app自带图库例子时,当子页面中的图片需要从网络下载时,发现效果跟想象中的不一样。如下图所示:

    图一

    可以看到当点击后,图片并没有那种慢慢放大的流畅感,图片是一闪就放大了。其实我们仔细想想的话,也会觉得这样做是行不通的,因为跳到第二个页面时,图片需要从网络再次加载。这时候图片可能还没下载完成,所以渲染后的界面是不能预期的。

    经过一段时间摸索后发现了Activity的两个神奇api,android.app.Activity#postponeEnterTransition和android.app.Activity#startPostponedEnterTransition,看看这两个api的Javadoc。

    图2

    就像这两个api描述的那样,看起来正式我们需要的。二话不说,把这两个api用起来看看效果先。

    1、在子页面的Activity.onCreate方法中加入supportPostponeEnterTransition();

    图3

    2、在图片加载回调方法中调用supportStartPostponedEnterTransition();

    图4

    注意:这里使用的supportPostponeEnterTransition和supportStartPostponedEnterTransition方法是AppCompatActivity提供的兼容方法。兼容API 21以下的系统。

    OK,跑一下看看效果吧。Good!!!

    图5

    相关文章

      网友评论

        本文标题:Android转场动画在异步加载页面遇到的坑

        本文链接:https://www.haomeiwen.com/subject/bmhdettx.html