美文网首页
Android动画-帧动画Drawable Animation

Android动画-帧动画Drawable Animation

作者: 广州萧敬腾 | 来源:发表于2019-04-02 09:51 被阅读0次

    什么叫帧动画

    顾名思义,帧——就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。所以帧动画其实就是由若干张图片连接播放而形成的一种视觉效果。

    怎么来用

    很简单,跟着这些步骤来,你马上可以实现一个帧动画。
    1.在res文件夹下创建anim文件夹,并在里面创建一个drawable_anim.xml,写入代码

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:oneshot="true" 
        >
        <item android:drawable="@drawable/a0" android:duration="100"/>
        <item android:drawable="@drawable/a1" android:duration="100"/>
        <item android:drawable="@drawable/a2" android:duration="100"/>
        <item android:drawable="@drawable/a3" android:duration="100"/>
        <item android:drawable="@drawable/a4" android:duration="100"/>
        <item android:drawable="@drawable/a5" android:duration="100"/>
        <item android:drawable="@drawable/a6" android:duration="100"/>
        <item android:drawable="@drawable/a7" android:duration="100"/>
        <item android:drawable="@drawable/a8" android:duration="100"/>
    </animation-list>
    

    很明显可以看出,每个item代表着一帧,两个属性分别是图片跟停留时间(就是这一帧放多久)。
    然后我们在layout布局里,给需要执行的view加上

    <ImageView
            android:background="@drawable/drawable_anim" />
    

    最后回到我们的java代码

    AnimationDrawable animationDrawable = (AnimationDrawable) iv.getBackground();
    animationDrawable.start();
    

    这样就完事了
    当然你也可以用纯java代码创建动画,这样来写

    AnimationDrawable anim= new AnimationDrawable();
    anim.addFrame(getResources().getDrawable(R.drawable.a0), 100);
    anim.addFrame(getResources().getDrawable(R.drawable.a1), 100);
    anim.addFrame(getResources().getDrawable(R.drawable.a2), 100);
    anim.addFrame(getResources().getDrawable(R.drawable.a3), 100);
    anim.setOneShot(false);
    iv.setBackgroundDrawable(frameAnim);
    anim.start();
    

    是不是敲简单,好的,下一篇咱们讲重头戏——属性动画。

    相关文章

      网友评论

          本文标题:Android动画-帧动画Drawable Animation

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