快速上手Android简单帧动画

一个简单帧动画

首先是先写好drawable文件

<?xml version="1.0" encoding="utf-8"?>

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">    
<item android:drawable="@mipmap/marker_0" android:duration="150" />
<item android:drawable="@mipmap/marker_1" android:duration="150" />  
<item android:drawable="@mipmap/marker_2" android:duration="150" />   
<item android:drawable="@mipmap/marker_3" android:duration="150" />   
<item android:drawable="@mipmap/marker_4" android:duration="150" />    
<item android:drawable="@mipmap/marker_5" android:duration="150" />    
<item android:drawable="@mipmap/marker_6" android:duration="150" />    
<item android:drawable="@mipmap/marker_7" android:duration="150" />    
<item android:drawable="@mipmap/marker_8" android:duration="150" />    
<item android:drawable="@mipmap/marker_9" android:duration="150" />    
<item android:drawable="@mipmap/marker_10" android:duration="150" />    
<item android:drawable="@mipmap/marker_11" android:duration="150" />    
<item android:drawable="@mipmap/marker_12" android:duration="150" />    
<item android:drawable="@mipmap/marker_13" android:duration="150" />    
<item android:drawable="@mipmap/marker_14" android:duration="150" />    
<item android:drawable="@mipmap/marker_15" android:duration="150" />    
<item android:drawable="@mipmap/marker_16" android:duration="150" />    
<item android:drawable="@mipmap/marker_17" android:duration="150" />    
<item android:drawable="@mipmap/marker_18" android:duration="150" />    
<item android:drawable="@mipmap/marker_19" android:duration="150" />    
<item android:drawable="@mipmap/marker_20" android:duration="150" />
</animation-list>

应该都看的懂 前面是图片文件名,后面是执行的间隔时间。我的是Android Studio,图片放在mipmap文件夹中了, 其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画,true表示动画执行一遍就停止了。

接下来就是启动动画和停止动画,以下代码在activity中写:

public void startAnimation(){
    markerIcon.setImageResource(R.drawable.marker_anim_drawable);
    AnimationDrawable animationDrawable = (AnimationDrawable)markerIcon.getDrawable();
    animationDrawable.start();
}
markerIcon 是显示图片的控件 ,marker_anim_drawable 这个是上面动画drawable的文件名
public void endAnimation(){
    Drawable bd = markerIcon.getDrawable();
    if(bd != null && bd instanceof AnimationDrawable){
        AnimationDrawable animationDrawable = (AnimationDrawable)bd;
        if(bd != null){
            animationDrawable.stop();
        }
    }
}
停止动画的时候做一下判断。也可以设置停止之后再显示新的图标之类的自己的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值