Android动画之Drawable Animation

来源:互联网 发布:vba是什么软件 编辑:程序博客网 时间:2024/06/01 09:28

Android动画之Drawable Animation

        上一篇我们讲解了视图动画View Animation,也就是TweenAnimation。本篇博客主要对Drawable Animation,也就是FrameAnimation进行讲解,主要内容包括FrameAnimation的使用、FrameAnimation的应用场景以及和TweenAnimation的一些区别。

        FrameAnimation可以简单的理解为几个图片的切换,一帧一帧的实现,先看一下实现代码:

             //先找到资源文件

             image.setBackgroundResource(R.drawable.anim_list);
            //接下来就可以通过Image的Background返回一个drawable的对象。并且把这个对象转换成Animation Drawable,它是一个容器这回装了里面的这几个内容
            AnimationDrawable ad=(AnimationDrawable) image.getBackground();
            //这时候启动这个对象
            ad.setOneShot(true);
            ad.start();

         在资源文件res/drawable中的代码:

                 <?xml version= "1.0" encoding="utf-8"?>
                 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
                   <item
                      android:drawable="@drawable/one"
                      android:duration="500"/>
                   <item
                      android:drawable="@drawable/two"
                      android:duration="500"/>
                   <item
                      android:drawable="@drawable/three"
                      android:duration="500"/>
                   <item
                      android:drawable="@drawable/four"
                      android:duration="500"/>
                   </animation-list>

           看了代码和注释应该能理解了FrameAnimation的使用方法。

FrameAnimation的使用场景:

             在人物角色变化的时候,例如人物行走。

             图片切换的例子

             例如一个秋天落叶的动画,一个场景其中变化很多,如果用TweenAnimation动画是很麻烦的,用FrameAnimation动画十张图片就可以搞定。

FrameAnimation与TweenAnimation的区别:

              他们都可以通过xml来进行定义,但是TweenAnimation是放在res/anim文件中,而FrameAnimation是放在res/drawable文件中。

2 0
原创粉丝点击