Android帧动画的使用
2020/02/05 来源:乐潮信息
在开发中有时候会遇到动画的相关使用来达到一些页面效果,帧动画就是将一组图片资源一帧一帧的播放,逐帧动画跟补间动画一样都可以通过xml或者Java代码实现。
首先我们先新建一个xml文件,例如:
1、新建xml文件:R.drawable.duigou_anim
<?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/a1" android:duration="100"/>
<item android:drawable="@drawable/a2" android:duration="100"/>
<item android:drawable="@drawable/a3" android:duration="100"/>
...
...
</animation-list>
其中drawable属性是放的图片文件,后面的duration是每张图片显示的时间。
接下来是设置播放:
- 设置、播放
//通过设置android:background时,得到AnimationDrawable 用如下方法
final AnimationDrawable animationDrawable = (AnimationDrawable) iv.getBackground();
//通过设置android:src时,得到AnimationDrawable 用如下方法
//AnimationDrawable animationDrawable = (AnimationDrawable) iv.getDrawable();
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
animationDrawable.start();
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
animationDrawable.stop();
}
});
直接显示如下:
imgFinger.setImageResource(R.drawable.duigou_anim);
AnimationDrawable animationDrawable = (AnimationDrawable) imgFinger.getDrawable();
animationDrawable.start();
//通过设置android:background时,得到AnimationDrawable 用如下方法 final AnimationDrawable animationDrawable = (AnimationDrawable) iv.getBackground();
动态设置
这里对通过文件名拿到对应资源ID的方法做个简单的说明:
第一个参数就是文件名,第二个参数就是资源所在的文件类型,第三个参数就是包名。
特别注意:
在我们使用逐帧动画时,要避免使用大尺寸的图片,以免造成OOM。
乐潮信息 www.leco-tec.com