美文网首页
Android变身法术-转场动画

Android变身法术-转场动画

作者: Aix码哥 | 来源:发表于2018-07-05 09:58 被阅读0次

    那年,Android刚刚降生,他一无所长,为了能过变得强大,他决心苦心修炼,修习各门法术。十多年的风雨岁月一晃而过,而Android在Google家族和每一个拥护Android的人的帮助下,也变得越来越强大,成为天下一等一的高手,拥有最多的拥护者。回忆这十多年中Android苦修各门法术的经历,那每一个都可以说成一个精彩的故事。

    今天,想给大家讲讲Android修炼变身法术-转场动画的那段故事。

    那年,Android要变身(从一个页面跳转另一个页面的转场动画效果),启动变身法术,你会看到很生硬的变身效果。那可真是不好看,Android却并不知道原因,只知道大家都嘲笑他变身时的样子。他很郁闷,觉得自己能变身就好,而且自己变身的样子也还好呀,为什么大家都嘲笑他呢?这也不能全怪Android,毕竟他从来没有见到过比他的变身法术更好看的法术了。直到有一天,镇上来了个俊朗的小伙子iOS,当iOS变身的那一刻,Android终于明白了大家为什么都嘲笑自己。iOS的变身法术实在是太美了,简直就是炫酷啊,而自己的法术呢,真的很难看,Android想着想着,脸都羞红了。再次看向iOS,Android的目光里充满了敬佩和羡慕之意,暗自下定决心,一定要苦修变身法术,总有一天,要超过iOS。

    日复一日,年复一年,Android现在终于修成了令人满意的变身法术。他炼成了四种不同的变身效果:分解、滑动进入、淡入淡出,还有共享元素动画。为了让大家都知道自己修炼的成果,于是,他向大家展示了他修炼的这四种变身效果。

    第一个:explode(分解)– 从中间进或出

    这个法术只有三个施术动作,

    首先,启动变身,startActivity(newIntent(this, Main2Activity.class), ActivityOptions.makeSceneTransitionAnimation(this).toBundle());;

    之后,设置变身分解效果和变身时长,在变身后页面getWindow().setEnterTransition(newExplode().setDuration(2000));getWindow().setExitTransition(newExplode().setDuration(2000)); ;

    最后,激活变身的过渡效果,在styles.xml文件中添加true。

    第二个:slide(滑动)- 从边缘进或出

    和分解效果一样,它也是三个施术动作,

    首先,启动变身,startActivity(newIntent(this, Main2Activity.class), ActivityOptions.makeSceneTransitionAnimation(this).toBundle());;

    之后,设置变身分解效果和变身时长,在变身后页面getWindow().setEnterTransition(newSlide().setDuration(2000));getWindow().setExitTransition(newSlide().setDuration(2000));

    最后,激活变身的过渡效果,在styles.xml文件中添加true。

    第三个:fade(淡出)–通过改变不透明度达到变身效果

    还是一样,三个施术动作,

    首先,启动变身,startActivity(newIntent(this, Main2Activity.class), ActivityOptions.makeSceneTransitionAnimation(this).toBundle());;

    之后,设置变身分解效果和变身时长,在变身后页面getWindow().setEnterTransition(newFade().setDuration(2000));getWindow().setExitTransition(newFade().setDuration(2000));

    最后,激活变身的过渡效果,在styles.xml文件中添加true。

    第四种:共享元素-变身前后都存在的元素有衔接的效果

    相比于前三个效果,共享元素动画有更加炫酷的效果。比如变身前中间有个小按钮,变身后顶部有个大按钮,变身时,你会看到好像大按钮是从小按钮直接通过缩放和移位变化过来的,而非大按钮自己出现。

    这个法术主要是两个动作,

    首先,给两个按钮设置相同的属性,分别添加Android:transitionName="mybtn"属性;

    然后,启动变身,startActivity(newIntent(this,Main2Activity.class), ActivityOptions.makeSceneTransitionAnimation(this,view,"mybtn").toBundle();

    Android潇洒的展示完这四种变身法术后,全场响起了雷鸣般的掌声,赞许Android的新变身法术。

    人们都坚信,Android未来还会修炼出更多更棒的变身法术效果,期待Android的未来。

    相关文章

      网友评论

          本文标题:Android变身法术-转场动画

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