android学习笔记10 - Animation-list帧动画实现

通过animation-list可以实现帧切换形成动画。在anim文件夹下建立一个xml文件,添加animation-list标签,实现方法如下:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
 	android:oneshot="false">
<item android:drawable="@drawable/qb_tenpay_loading_1" android:duration="150"></item> 
</animation-list>

android:oneshot 代表着是否只展示一遍,设置为false会不停的循环播放动画

android:duration 表示展示所用的该图片的时间长度 ,单位是毫秒


动画文件取名animation01.xml调用方式有以下几种:

1.在xml中定义成background

xml文件中定义: 

android:background="@anim/animationg01"

在java代码中获取使用:  

AnimationDrawable animation;

ImageView loginLoading;

animation = (AnimationDrawable)loginLoading.getBackground();


2.在xml中定义成src

xml文件中定义:

android:src="@anim/animationg01"

在java代码中获取使用:  

AnimationDrawable animation;

ImageView loginLoading;

animation = (AnimationDrawable)loginLoading.getDrawable();


3.在java中定义成background

AnimationDrawable animation;

ImageView loginLoading;

loginLoading.setBackgroundResource(R.anim.animation01); 

animation = (AnimationDrawable)loginLoading.getBackground();


4.在java中定义成ImageResource

AnimationDrawable animation;

ImageView loginLoading;

loginLoading.setImageResource(R.anim.animation01); 

animation = (AnimationDrawable)loginLoading.getDrawable();


启动方法均为 animation.start();


综合测试,定义了上下包括两个同时运行的循环帧动画组合:

<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
 	android:oneshot="false">
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_00" />
            <item android:drawable="@drawable/login_loading_10" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_01" />
            <item android:drawable="@drawable/login_loading_11" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_02" />
            <item android:drawable="@drawable/login_loading_12" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_03" />
            <item android:drawable="@drawable/login_loading_13" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_04" />
            <item android:drawable="@drawable/login_loading_14" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_05" />
            <item android:drawable="@drawable/login_loading_15" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_06" />
            <item android:drawable="@drawable/login_loading_16" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_07" />
            <item android:drawable="@drawable/login_loading_17" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_08" />
            <item android:drawable="@drawable/login_loading_18" />
        </layer-list>
    </item>
    <item android:duration="100">
        <layer-list>
            <item android:drawable="@drawable/login_loading_09" />
            <item android:drawable="@drawable/login_loading_19" />
        </layer-list>
    </item>
</animation-list>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值