一、遇到问题
今天在项目中遇到一个问题,项目中的需求是根据不同的状态,让ivImpellerRotate播放不同的帧动画,刚开始设置动画背景资源时使用①代码这时项目编译什么的都能通过,并且也能正常运行。可是在导出签名apk时项目报错,报错的原因是有不安全操作。
二、处理方法
将将动画资源从anim文件夹移到drawable文件夹中,并将①代码换成②代码,导出成功。
三、代码参考
定义控件
private ImageView ivImpellerRotate;
初始化控件
ivImpellerRotate = (ImageView)findViewById(R.id.iv_heater_impeller);
设置背景资源
//ivImpellerRotate.setBackgroundResource(R.anim.anim_heater_impeller_rotate);//①代码
ivImpellerRotate.setBackgroundResource(R.drawable.anim_heater_impeller_rotate);//②代码
动画资源
<?xml version="1.0" encoding="UTF-8"?>
<!--Specify the animation looping-->
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<!--Add multiple frames-->
<item android:drawable="@mipmap/frame_impeller_rotating_1" android:duration="60"/>
<item android:drawable="@mipmap/frame_impeller_rotating_2" android:duration="60"/>
<item android:drawable="@mipmap/frame_impeller_rotating_3" android:duration="60"/>
<item android:drawable="@mipmap/frame_impeller_rotating_4" android:duration="60"/>
</animation-list>