由于RN在Android平台上不支持gif格式的图片,今天介绍下我们是怎么处理这个问题的。
先来看看我们需要实现的效果,这是一张gif图片,当我们列表上拉加载下一页的时候需要使用这个效果,如下图:
我们的解决方案是:将gif切成15张png的图片,暂且命名为loading1、loading2.... loading15
然后循环的setState修改图片,就像看电影一样,达到动画的效果。
1、在构造方法中初始化图片数组
//图片数组
var loading_imgs = new Array();
//最大图片张数
const imageLength = 15;
//动画使用的数组下标
const imageIndex = 0;
constructor(props) {
super(props);
this.state = {
dataSource: new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2,}),
….
imageIndex:imageIndex,
};
//组装图片数组 共15张图片 loading1 -> loading15
for( i&#