美文网首页Android开发技术分享Android开发
Android动画的简要分析与总结

Android动画的简要分析与总结

作者: 麦兜叮叮当 | 来源:发表于2016-11-24 14:50 被阅读28次

    今天又温习了一边Android中各种属性动画的使用以及原理,发现自己遗漏了很多的知识点,那今天就来总结一下。

    Android中的动画可以分为三类:View动画,帧动画,和属性动画。先总View动画开始总结。

    View动画

    View动画作用的对象是View,它支持四种动画效果,分别是平移动画、缩放动画、旋转动画以及透明度动画。

    View动画的四种变换效果对应Animation的四个子类,分别是:TranslateAnimation(平移动画)、ScaleAnimation(缩放动画)、RotateAnimation(旋转动画)、AlphaAnimation(透明度动画)。

    每个标签中的属性,我就不贴了,基本上见名知意,然后在java中引入xml:

    这就成功的引入了XML中的动画。

    除了在SML中定义动画外,还可以通过代码来应用动画,这里举个例子:

    这里仅仅有透明的动画效果,其他三种效果就不做介绍了,基本相同。

    帧动画

    帧动画是顺序播放一组预先定义好的图片,类似于电影播放,不同于View动画,系统提供了另外一个类AnimationDrawable来使用帧动画。帧动画比较简单,首先需要通过XML定义一个AnimationDrawable,如图所示:

    然后将上述的DrawableXML作为View的背景并通过Drawable来播放动画即可:

    帧动画使用比较简单,但是比较容易引起OOM,所以使用时尽量避免使用过大尺寸的图片。

    View动画的特殊使用场景

    很多开发者可能不知道,View动画还可以使用在特殊的场景下,比如在ViewGroup控制子元素的出场效果,其实我们在很多APP中经常看到。还可以在Activity之间实现切换的效果。

    LayoutAnimation作用于ViewGroup,为ViewGroup指定一个动画,这样当它的子元素加载时,都会具有这样的效果。听起来是不是很炫酷呢,下面我们来实现它。

    先在anim中定义xnl:

    下面一一介绍layoutAnimation标签中的属性,delay,见名知意,延迟多长时间执行。animation,加载动画效果,animationOrder指明播放顺序,及顺序,逆向,随机。

    定义好动画之后,我们在ListView上使用此动画。

    至此,运行之后,我们就能看到动画效果了。

    Activity动画切换效果

    Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。

    它包括两个部分:

    一部分是第一个activity退出时的动画;

    另外一部分时第二个activity进入时的动画;

    在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition

    使用也非常简单:

    有一点需要注意,overridePendingTransition一定要在startActivity或者finish()之后,否则是没有效果的。

    属性动画

    这里我就不写了,请参考Android属性动画

    相关文章

      网友评论

        本文标题:Android动画的简要分析与总结

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