美文网首页
Frame Animation&&Drawabl

Frame Animation&&Drawabl

作者: Y小圆脸 | 来源:发表于2017-06-27 14:25 被阅读36次

    参考demo

    1、文件位置

    在资源文件夹下:res/drawable/filename.xml

    <?xml version="1.0" encoding="utf-8"?>
    <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
        android:oneshot=["true" | "false"] >
        <item
            android:drawable="@[package:]drawable/drawable_resource_name"
            android:duration="integer" />
    </animation-list>
    
    • android:oneshot:true则只运行一次,false则重复动画。
    • android:drawable:对应资源文件
    • android:duration:每一帧时长

    在java文件中使用

    //将控件背景设置为我们的AnimationDrawable资源文件
    image.setBackgroundResource(R.drawable.frame);
    //拿到要编译成AnimationDrawable的背景
     AnimationDrawable imageAnimation = (AnimationDrawable)image.getBackground();
     //开始动画
     imageAnimation.start();
    

    2、AnimationDrawable

    AnimationDrawable就是对应于我们自身定义的xml文件,在Java代码中将xml对象转为了AnimationDrawable之后,我们就可以通过它来获取xml文件里面的属性。

    XML文件中的变量

    • android:drawable: 用于该帧的图片。
    • android:duration: 每一帧的时长。
    • android:oneshot: true则只运行一次,false则重复动画。
    • android:variablePadding: 如果true,允许drawable文件的当前状态改变。
    • android:visible: 是否可见。

    方法

    • void addFrame (Drawable frame, int duration): 添加一帧动画到动画里面。
    • int getDuration (int i): 获取第i帧的时长。
    • Drawable getFrame (int index): 获取第i帧的Drawbale。
    • int getNumberOfFrames (): 获取共有多少帧。
    • void inflate (Resources r, XmlPullParser parser, AttributeSet attrs, Resources.Theme theme): 从XML资源里面加载一个Drawable文件。
    • boolean isOneShot (): 判断是否单次播放。
    • boolean isRunning (): 判断动画是否还在运行。
    • Drawable mutate (): 一个drawable如果使用了mutate()方法,那么对这个drawable属性(包括设置drawable的透明度)修改将不会共享。
    • void setOneShot (boolean oneShot): 设置动画播放一次或者循环。
    • boolean setVisible (boolean visible, boolean restart): 设置该AnimationDrawable是否可见。
    • void start (): 播放。
    • void stop (): 停止。
    • void unscheduleSelf (Runnable what): 让动画重新回到-1帧

    相关文章

      网友评论

          本文标题:Frame Animation&&Drawabl

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