Android Animation-list 逐帧动画

1、res/drawable   目录下新建  xml文件  eg: xxx.xml

2、用到多张这种图,可以在网上找些好看的

3、代码实现

xxx.xml

<?xml version="1.0" encoding="utf-8"?>
<!--
    1、根标签为animation-list,

    2、其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
    3、根标签下,通过item标签对动画中的每一个图片进行声明
    4、android:duration 表示展示所用的该图片的时间长度

 -->
 <animation-list

     xmlns:android="http://schemas.android.com/apk/res/android"

     android:oneshot="false"
     >
      <item android:drawable="@drawable/1" android:duration="150"></item>
      <item android:drawable="@drawable/2" android:duration="150"></item>
      <item android:drawable="@drawable/3" android:duration="150"></item>
      <item android:drawable="@drawable/4" android:duration="150"></item>
      <item android:drawable="@drawable/5" android:duration="150"></item>
      <item android:drawable="@drawable/6" android:duration="150"></item>
 </animation-list>

4、在Activity中的使用

-------------------用代码设置------------------------

       //要显示动画的图片

        imageView = (ImageView)findViewById(R.id.imageview);

   1、方式一

        /**
         * 这里设置的是setBackgroundResource,那么你获取的时候通过getBackground
         */
        imageView.setBackgroundResource(R.anim.xxx);//用代码设置,也可以在imageview的属性中设置
        AniDraw = (AnimationDrawable)imageView.getBackground();

        AniDraw.start();//开始播放

       AniDraw.stop();//停止

        AniDraw.isRunning()//运行中

  2、方式二

       /**
         * 这里设置的是setImageResource,那么你获取的时候通过getDrawable()
         */

             imageView2 = (ImageView)findViewById(R.id.animationIV3);
             imageView2 .setImageResource(R.anim.xxx);
             AniDraw2 = (AnimationDrawable)imageView2 .getDrawable();

             AniDraw2.start();

---------------------在xml中通过src来设置----------------------------

     <ImageView
             android:id="@+id/animationIV2"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:src="@anim/xxx"
             />

      /**
         * 在xml里面通过src来设置跟在代码里面使用setImageResource获取的时候通过getDrawable
         * 例如:imageView.setImageResource(R.anim.xxx);是一样的
         */
        imageView3 = (ImageView)findViewById(R.id.xxx);
        AniDraw3 = (AnimationDrawable)imageView3 .getDrawable();

        AniDraw3.start();

你可能感兴趣的:(android)