Android中的帧动画

继上一篇补间动画之后,这里主要对帧动画进行简单介绍,以及如何在代码中来使用。

帧动画就是一帧一帧播放的动画,更电影每隔24ms播放一张图片一个道理。对于帧动画同样可以通过代码来创建,也可以通过xml来创建

一、代码创建帧动画


public class MainActivity extends Activity {
    private ImageView iv;
    private RotateAnimation ra;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        iv = (ImageView) findViewById(R.id.ivGirl);
        AnimationDrawable ad=new AnimationDrawable();
        //获取id
        int id=getResources().getIdentifier("a1", "drawable", getPackageName());
        int id2=getResources().getIdentifier("a2", "drawable", getPackageName());
        int id3=getResources().getIdentifier("girl", "drawable", getPackageName());
        
        //获取Drawable
        Drawable drawable = getResources().getDrawable(id);
        Drawable drawable2 = getResources().getDrawable(id2);
        Drawable drawable3 = getResources().getDrawable(id3);
        //添加到ad
        ad.addFrame(drawable, 500);
        ad.addFrame(drawable2, 500);
        ad.addFrame(drawable3, 500);
        ad.setOneShot(false);
        iv.setBackground(ad);
        ad.start();
	}

、通过在xml文件中把图片先归集在一起,然后通过代码来启动

1、在drawable文件夹下新建一个如下图所示的animation-list文件,把需要的图片都通过这个文件关联起来。

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
    <item android:drawable="@drawable/a1"  android:duration="500"/>
    <item android:drawable="@drawable/a2"  android:duration="500"/>
    <item android:drawable="@drawable/girl"  android:duration="500"/>
</animation-list>
2、在Activity的onCreate方法中,只需要简单两行代码就可以启动动画了

<span style="white-space:pre">	</span>iv.setBackgroundResource(R.drawable.a);
        AnimationDrawable bg = (AnimationDrawable) iv.getBackground();
        bg.start();

以上就是创建帧动画的两种方法以及步骤,在后面的文章中还会对属性动画进行介绍。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值