Android动画系列——帧动画(Frame动画)

动画系列——帧动画(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);

猜你喜欢

转载自blog.csdn.net/mLuoya/article/details/88632597