Android动画系列——帧动画(Frame动画)
程序员文章站
2022-03-16 16:16:45
...
动画系列——帧动画(Frame 动画)
一张一张的图片按照顺序和时间进行一帧一帧的播放。将图片资源作为背景图片,依次播放。用到的类:AnimationDrawable
使用XML实现
1 将资源图片导入到对应的 drawable-xxx 或drawable 目录中
2 在其目录下,创建xml文件,根节点选择 animation-list
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
//自动执行,true,停在最后一帧(只播放一次),false,循环播放
<item
android:drawable="@drawable/logo1"
android:duration="850"> //设置持续时长
</item>
<item
android:drawable="@drawable/logo2"
android:duration="850">
</item>
</animation-list>
3 java代码
ImageView iv = (ImageView) findViewById(R.id.iv); //找到图片控件
iv.setBackgroundResource(R.drawable.logo); //导入资源文件
AnimationDrawable anim = (AnimationDrawable) iv.getBackground();
anim.start(); //开始播放动画
使用代码实现
方法一:添加多个帧 Drawable
mAnimationDrawable = new AnimationDrawable();
mAnimationDrawable.setOneShot(false);//是否执行一次
for(int i=0;i<11;i++){ //添加多个帧Drawable
Drawable frame = getResources().getDrawable(R.drawable.girl_1+i);
mAnimationDrawable.addFrame(frame, 200);
}
mImageView.setImageDrawable(mAnimationDrawable); //设置帧动画,默认是停止状态
方法二:引用xml 帧动画drawable
// 引用xml 帧动画drawable
mAnimationDrawable=(AnimationDrawable)getResources().getDrawable(R.drawable.frame);
mImageView.setImageDrawable(mAnimationDrawable);
推荐阅读