在使用帧动画进行播放的时候,在5.0的以上的华为平板不会自动播放
<?xml version="1.0" encoding="utf-8"?><!--
根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
根标签下,通过item标签对动画中的每一个图片进行声明
android:duration 表示展示所用的该图片的时间长度
-->
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@mipmap/inhemeter_circle_1"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_2"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_3"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_4"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_5"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_6"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_7"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_8"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_9"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_10"
android:duration="100"></item>
<item
android:drawable="@mipmap/inhemeter_circle_11"
android:duration="100"></item>
</animation-list>
<ImageView
android:id="@+id/inhemeter_water"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/inhemeter_circle_animation" />
解决的方法是手动进行动画的播放
1.首先找到动画,然后启动start
/**
* 启动税波纹的动画
*/
public void water_animation_start() {
AnimationDrawable animationDrawable = (AnimationDrawable) inhemeter_water.getDrawable();
animationDrawable.stop();
animationDrawable.start();
}
当出现需求是在一个帧动画中部分需要循环播放的时候
<?xml version="1.0" encoding="utf-8"?><!--
根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
根标签下,通过item标签对动画中的每一个图片进行声明
android:duration 表示展示所用的该图片的时间长度
-->
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item
android:drawable="@mipmap/water_less_1"
android:duration="100"></item>
<item
android:drawable="@mipmap/water_less_2"
android:duration="100"></item>
<item
android:drawable="@mipmap/water_less_3"
android:duration="100"></item>
<item
android:drawable="@mipmap/water_less_4"
android:duration="100"></item>
<item
android:drawable="@mipmap/water_less_5"
android:duration="100"></item>
<item
android:drawable="@mipmap/water_less_6"
android:duration="100"></item>
<item
android:drawable="@mipmap/water_less_7"
android:duration="100"></item>
<item
android:drawable="@mipmap/water_less_8"
android:duration="100"></item>
<item
android:drawable="@drawable/inhemeter_circle_animation"
android:duration="100"></item>
</animation-list>
然后在5.0以上的时候适配:
* 启动税波纹的动画
*/
public void water_animation_again() {
AnimationDrawable animationDrawable = (AnimationDrawable) inhemeter_water.getDrawable();
AnimationDrawable frame =(AnimationDrawable) animationDrawable.getFrame(8);
frame.stop();
animationDrawable.stop();
animationDrawable.start();
frame.start();
}