天分享的内容比较简单,就是一个简单加载效果

AnimationDrawable是实现Drawable Animation的基本类

XML文件存放在工程中res/drawable目录下,XML文件的指令(属性)为动画播放的顺序和时间间隔。

 在XML文件中<animation-list>元素为根节点,<item>节点定义了每一帧,表示一个drawable资源的帧和帧间隔。

和往常一样,我们先来看效果,不过今天的效果特别简单。

浅谈Android中AnimationDrawable使用_JAVA

我们在项目res/drawable 路径下load.xml

 

浅谈Android中AnimationDrawable使用_JAVA_02

<?xml version="1.0" encoding="utf-8"?>

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"

    android:oneshot="false">

    <!-- item 放图片  设置图片显示时间 -->

    <item

        android:drawable="@drawable/amp_land_1"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_2"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_3"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_4"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_5"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_6"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_7"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_8"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_9"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_10"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_11"

        android:duration="100" />

    <item

        android:drawable="@drawable/amp_land_12"

        android:duration="100" />

</animation-list>

 

需要留意的是:当Android:oneshot属性为true时,表示此动画只执行一次,最后停留在最后一帧。设置为false则表示动画循环播放。以前项目中有个展示关于航班飞机状态的问题,其实设置按照这种方法设置oneshot就好,没那么复杂。

<ImageView

    android:id="@+id/iv_load"

    android:layout_width="match_parent"

    android:layout_height="30dp"

    android:layout_centerInParent="true"

    android:background="#00000000"

    android:src="@drawable/load"

    android:scaleType="center" />

<TextView

    android:id="@+id/top"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:gravity="center"

    android:text="加载中" />

ImageView imageView = (ImageView)this.findViewById(R.id.iv_load);

AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getDrawable();

animationDrawable.start();

Drawable Animation本身就是一个Drawable资源文件,所以直接在xml中设置为指定View的背景即可。animation.start()

同样可以通过代码设置View. setBackgroundResource(resID)   animation.start()

https://mp.weixin.qq.com/s/OERkF1-uqMqaw0vqhKAQlg